---
title: "Knowledge without belief"
author:
  - Bryan Gonzalez:
      institute: dart
  - name: Pauline Armary
    institute: ijn
  - name: James Dungan
    institute: bc
  - name: Brent Strickland
    institute: ijn
  - name: Joshua Knobe
    institute: yale
  - name: Fiery Cushman
    institute: harvard
  - name: Jonathan Phillips
    email: jonathan.s.phillips@dartmouth.edu
    institute: dart
    correspondence: true
institute:
  - dart: Dartmouth College
  - ijn: Intitut Jean Nicod
  - bc: Boston College
  - yale: Yale University
  - harvard: Harvard University
date: "7/2/2024"
output: 
  pdf_document: 
    number_sections: yes
    toc: no
    toc_depth: 4
    pandoc_args:
      - '--lua-filter=scholarly-metadata.lua'
      - '--lua-filter=author-info-blocks.lua'
  word_document:
    toc: no
    pandoc_args:
      - '--lua-filter=scholarly-metadata.lua'
      - '--lua-filter=author-info-blocks.lua'
bibliography: KbeforeB.bib
csl: apa.csl
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(error = TRUE)

rm(list = ls())

require(tidyverse)
require(lme4)
require(optimx)
require(lsr)

blackGreyPalette <- c("#2C3539", "#999999") 
jphilPalette <- c("darkorange3","lightblue","darkgreen","azure4")
rt.max <- 4500
rt.min <- 1000
acc.thresh <- .67

library(emmeans)
library(pbkrtest)

library(gridExtra)
```


**Abstract:** Five studies investigate the relationship between evaluations of knowledge and belief in theory of mind and demonstrate that evaluations of knowledge are made in the absence of evaluations of belief. Our studies find that (1) people can accurately evaluate others’ knowledge before they evaluate their beliefs, (2) this pattern extends to participants with Autism Spectrum Disorder and cannot be explained by pragmatic differences in knowledge and belief ascriptions, (3) it also occurs cross-linguistically and is not accounted for by differences in word frequency, (4) it generalizes to the larger class of factive and non-factive attitudes (to which knowledge and belief respectively belong), and using fMRI data, (5) that the neural response that occurs when making evaluations of others’ beliefs is absent when making similar evaluations of knowledge. Together, these studies demonstrate that human adults can attribute or deny knowledge states without first evaluating belief states. At a broad level, these findings suggest that knowledge representation is distinct from belief representation and offers a conceptually primitive way to represent others’ minds.


**Key words:** knowledge; belief; theory of mind; autism; fMRI


**Word count**: 10094


**Author note**: The data, materials, and analysis code for all studies is publicly available at: https://doi.org/10.7910/DVN/IT0Z6S. The authors declare no conflicts of interest.


\newpage


# Knowledge without belief

This paper asks whether we can attribute knowledge without belief. Or, more precisely, it asks whether people can represent someone else as knowing something without representing them as believing that thing. There are theoretical and empirical reasons to favor both a positive and negative answer to this question. We make progress on this question across five studies, and they offer remarkably consistent answer using a combination of response time and fMRI data. Before turning to these results, it is worth explaining the motivation behind both the reasons for thinking there could not be knowledge without belief and the reasons for thinking there in fact could be.

## Knowledge with belief

A standard way of thinking about the relationship between knowledge and belief across the cognitive sciences holds that the process of knowledge attribution is relativley complicated and may recruit or rely on more conceptually basic representations, like that of mere belief. It is not difficult to motivate such a perspective. For any case in which someone knows something, it seems intuitive that they must also believe it — after all, if you didn't even believe something in the first place, how could you possibly know it to be true? Perhaps then, attributing knowledge of something to others requires, at a minimum, representing them as believing that thing, and then additionally representing them as satisfying some additional criteria that are more specific to knowledge (e.g., that their belief is true, justified, formed through a reliable process, or what-have-you). On this hypothesis, when people are trying to determine whether someone knows something, they go through the usual process that would be associated with trying to determine whether someone believes something and also go through some additional processes to determine whether the person meets the various other conditions.

One sees aspects of this way understanding of the relationship between knowledge and belief both in standard philosophical analyses of knowledge (@sep-knowledge-analysis), and in recent philosophically informed empirical work on knowledge attribution [@rose2013knowledge; @buckwalter_thinBelief; @dudley2015three; @dudley2018young].

Additionally, this understanding of the relationship between knowledge and belief sits well with the work in developmental and comparative psychology that has argued for a 'core' or 'innate' capacity for theory of mind that essentially involves an ability for belief representation [@kovacs2010social; @onishi200515; @leslie2004core; @stich2013different]. Researchers aruging for such a capacity have sought to offer evidence for an ability for false belief representation in non-human primates [@krupenye2016great; @Hayashi_2020_monkeyFB] and in human infants as young as 7-months [@kovacs2010social; @buttelmann2009eighteen; @onishi200515]. If this picture of the core capacity for theory of mind is correct, and does essentially involves the ability to represent others' beliefs, then it would not be surprising if later-developing and more conceptually complicated mental state representations, e.g., 'imagining', 'being sure', or 'knowing' were built on top of conceptually primitive mental state representations, like mere belief, which are essential to the core capacity.

In short, this body of work collectively provides ample motivation for the view that representations of knowledge may depend on or involve prior representations of belief.

## Knowledge without belief

Against this view, an alternative picture that has gained attention across the cognitive sciences is that the capacity to represent knowledge is more basic than the capacity to represent belief, and thus representations of knowledge do not depend on representations of belief [@phillips_knowledge_2020]. Once again, it is not particularly difficult to see how such a view might have intuitive merit: many mundane cases of reasoning about someone's mind seem to concern others' knowledge without concerning their beliefs. For example, suppose you learn that the element with atomic number 3 is lithium, and you need to determine whether a particular chemistry professor knows that fact. One possible view would be that you can only figure this out by using the cognitive processes associated with belief attribution. (You have to figure out what the chemistry professor believes, and also whether this belief satisfies some further conditions.) By contrast, another possibility would be that people can make use of distinct processes for knowledge attribution that are not the same as the processes for belief attribution. On this latter view, you might have an ability to very quickly determine that the chemistry professor has the relevant knowledge, and the process you use to make this determination might be completely separate from the one you would have used if you had instead been wondering about what the chemistry professor believes about the element with atomic number 3.

Some direct evidence for this second view comes from comparative research that has found that non-human primates often pass theory of mind tasks when they only involve representations of knowledge, but fail similar tests when they require belief representations [@martin2014origins; @martin2016cognitive; @horschler2019non; @horschler2020non]. Similarly, human infants are able to robustly pass theory of mind tasks that only require reasoning about others' knowledge long before they are able to pass tests that require belief representations [@vouloumanos20146; @luo2009recognizing]. Moreover, these findings concerning early-emerging knowledge representation have proven to be largely replicable, unlike the findings for early-emerging belief or implicit representations of belief [@holland2020theoretically]. Collectively, this research provides evidence for cases in which there is an ability to represent knowledge but no corresponding ability to represent belief. Obviously, in such cases, knowledge representation cannot depend on belief representation.

While these experimental tasks were designed to test for an underlying capacity for knowledge and belief representation, they do not explicitly employ the concepts of knowledge and belief. Importantly, however, other lines of research do explicitly employ these concepts, and find a remarkably similar pattern. For example, across languages, young children begin demonstrating a linguistic competence for communicating about knowledge (and related factive mental states, such as 'seeing') before they demonstrate a linguistic competence for communicating about belief (or related non-factive mental states, e.g., what others 'think') [@bartsch1995children; @harris2017don; @wellman2001meta]. Additionally, research in experimental philosophy on the ordinary concept of knowledge has provided clear cross-cultural evidence that there are cases in which people are willing to attribute knowledge but unwilling to attribute belief [@myers2013knowing; @yuan2021cross]. And finally, recent work using EEG has revealed that answering questions about what someone believes requires greater cognitive resources than answering matched questions about what someone knows, as measured in terms of P3b amplitude [@bricker2020neural]. Clearly, these cases of explicit representations of knowledge are unlikely to depend on prior (or simultaneous) representations of belief.

## Facitivity: A core difference between knowledge and belief

Perhaps the most fundamental way in which knowledge and belief differ is that knowledge is *factive* while belief is not. That is, knowledge is an attitude that one can only represent others as having toward truths [@lakoff1973; @williamson2002knowledge], while one can believe both things that are true and things that are not [@nagel2017factive; @phillips2019factive]. This difference in knowledge and belief is not hard to see: If you don't think it's true that Al Gore invented the internet, then you can't represent someone else as knowing that he invented the internet; you can, of course, represent them as believing it. And you can also represent them as believing any other arbitrary proposition, e.g., that Reagan killed all the birds in 1986 and replaced them with spies who work for the bourgeoisie. Representations of belief are not constrained by the truth; representations of knowledge are. Thus, an important difference between factive and non-factive attitudes, in general, is that factive attitude representations may be simpler because the content represented is necessarily consistent with your own, and thus does not have to be represented separately from your own understanding of the content [@phillips2019factive]. Given that this difference holds for factive and non-factive attitudes in general, it would obviously holds for knowledge and belief in particular. We take advantage of this broader difference in trying to understand the relationship between knowledge and belief.

## Present studies

Five studies explored the possibility that people can attribute knowledge without attributing belief. The primary method we use is to measure response times for questions about whether a character in a scenario does or does not know something vs. does or does not believe something. If participants are faster to correctly evaluate questions about knowledge than belief, we will have relatively clear evidence that people can attribute knowledge without first going through the process of attributing belief. Four studies collectively provide this evidence. In Experiment 1, we show that people can accurately evaluate others’ knowledge before they evaluate their beliefs. In Experiment 2, we rule out the possibility that this response-time pattern is explained by pragmatic differences, and find that the patterns extends to participants with Autism. In Experiment 3, we demonstrate that the relative speed advantage of knowledge over belief ascriptions occurs cross-linguistically and is not accounted for by differences in word frequency. In Experiment 4, we find that this response-time difference generalizes to a larger class of factive and non-factive attitudes (to which knowledge and belief respectively belong). Finally, in Experiment 5, we move beyond response times and show that neural activity reveals a similar relationship between ascriptions of knowledge and belief. More specifically, we show that the neural response pattern that occurs when making evaluations of others’ beliefs is absent when making similar evaluations of knowledge. Together, these studies demonstrate that human adults can attribute or deny knowledge states without prior or simultaneous evaluations of belief states. These findings collectively support the view that knowledge representations are a basic and distinct way in which we understand others’ minds.

# Experiment 1a-b

A simple way of determining whether people can make evaluations of knowledge in the absence of evaluations of belief is to investigate the speed with which these evaluations are made. If participants’ evaluations of knowledge require or involve evaluations of belief, we would expect evaluations of knowledge ascriptions to be slower than evaluations of similar belief ascriptions. We began with a simple task that investigated the response times for evaluations of knowledge and belief ascriptions. Participants read about various people in a variety of different scenarios and then made truth value judgments of knowledge and belief ascriptions to those agents. In some cases, the knowledge and belief ascriptions were true, in others, they were false. We then compared the speed with which participants were able to correctly evaluate these mental state ascriptions.

## Analysis approach

In all studies, response times for trials on which participants correctly assessed the truth of the knowledge and belief statements were analyzed with linear mixed effects models using the lme4 package in $\textsf{R}$ [@bates2014lme4], with both participants and scenario included as random factors. Participants were excluded from the analysis if they answered less than 67% of the questions correctly or if their mean response time was less than 1000*ms* or greater than 4000*ms*. We additionally excluded all trials on which the response was given in less than 1000*ms* or longer than 4500*ms*. We applied these same criteria to all of the response-time analyses in all of the experiments reported. 

The data, materials, and analysis code for all studies is publicly available at: https://doi.org/10.7910/DVN/IT0Z6S. These studies and analyses were not preregistered. All studies were approved by either the Harvard University (IRB14-2016) or Dartmouth College (STUDY00032209; STUDY00032303) Institutional Review Boards. Informed consent was acquired from all participants. 

## Participants

```{r d1a demo, echo=FALSE}
d1demo <- read.csv("../Studies/Exp1/Data/study1demo.csv")

d1demo$sex <- factor(d1demo$sex)
d1demo$education <- factor(d1demo$education)

##Age and Gender
d1.age <- matrix(c("mean",mean(d1demo$age,na.rm=T),"sd",sd(d1demo$age,na.rm=T),"n",length(d1demo$age)),ncol = 3)
d1.gender <- table(d1demo$sex,exclude=NULL)
###Education
d1.education <- table(d1demo$education)
```

Two hundred participants (*M*~age~=`r round(mean(d1demo$age, na.rm=T),digits=2)`, *SD*~age~=`r round(sd(d1demo$age, na.rm=T),digits=2)`; `r d1.gender[[1]]` females) were recruited through a psychology based website (<http://www.moralsensetest.com>). Experiment 1b was an exact replication with 501 participants recruited through Amazon Mechanical Turk.

## Stimuli and procedure

Participants began by completing a demographic questionnaire, and two practice trials in which they were familiarized with the task they would be completing. Participants then completed twenty-four trials which involved reading a short vignette about an agent and then deciding whether a sentence about the story was true or false. Participants were instructed to indicate their responses as quickly as possible by pressing one of two keys on their keyboard. Twelve of these trials were ‘distractor’ trials in which participants were asked simple comprehension questions that did not mention the agent’s mental states. These were included to prevent participants from anticipating the sentences they would be evaluating. In the remaining twelve trials, participants read a vignette that described the agent as either having true information about some proposition *p* (as in **True Information**), simply being ignorant of *p* (as in **No Information**), or believing some proposition *q* that was both false and inconsistent with *p* (as in **False Information**).

> **True Information**: Mira looks at the night sky with her telescope. She
> owns the most accurate books on the locations of the different planets
> throughout the year. Mira reads in her astronomy books that she can
> see Neptune through her telescope, and she waits until it's dark
> enough outside. She points her telescope towards the coordinates that
> her books specify for Neptune, and sees a bright dot in the middle of
> the sky. That bright dot is Neptune. She is excited that she found the
> planet she was looking for so easily.

> **No Information**: Mira likes looking at the night sky with her telescope.
> She owns the most accurate books on the locations of the different
> planets throughout the year. It is night and Mira decides not to read
> her astronomy books and instead just look through her telescope. Ignoring
> her book, she sets up her telescope and points it towards a group of
> dots that catch her attention. She looks into the telescope and she
> sees a bright dot in the middle of the sky. That bright dot is
> actually Neptune.

> **False Information**: Mira likes looking at the night sky with her
> telescope. She owns the most accurate books on the locations of the
> different planets throughout the year. It is night and Mira reads in
> her astronomy books that she can see Mercury through her telescope.
> Misreading her book, she sets up her telescope and points it towards
> the coordinates that her books specify for Neptune, which also happens
> to be in the sky. She looks into the telescope and she sees a bright
> dot in the middle of the sky. That bright dot is actually Neptune.

On each of the twelve test trials, participants were asked to evaluate the truth or falsity of a sentence about either the agent's knowledge, as in **Know**, or belief, as in **Think**. Critically, these sentences always concerned the proposition that was true:

> **Know**: Mira knows she is looking at Neptune.

> **Think**: Mira thinks she is looking at Neptune.[^1]

[^1]: We used 'thinks' instead of 'believes' in these studies to better
    equate for word frequency and length.

Scenarios in all three conditions were constructed in such a way that the answer to both questions was true (i.e., True Information) or the answer to both questions was false (i.e., No Information and False Information), which allows us to directly compare response times across the two ascription types (Know vs. Think). We used Latin-square randomization to ensure that each participant saw all 12 distractor scenarios and all 12 test scenarios in random order, and judged two ‘knows’ ascriptions and two ‘thinks’ ascriptions for each of the three Information Conditions (‘True Information’ vs. ‘No Information’ vs. ‘False Information’).

## Experiment 1a Results

```{r study1aAnalysis, echo=FALSE, warning=FALSE, message=FALSE }

d1a <- read.csv("../Studies/Exp1/Data/study1a.csv")

d1a <- subset(d1a,d1a$question!="D") ##removes all distractor trials

d1a$question <- factor(d1a$question)
d1a$question <- factor(c("Think","Know")[d1a$question])
d1a$condition <- factor(d1a$condition)
d1a$condition <- factor(c("True Belief","Different Belief","Ignorance","True Belief","Different Belief","Ignorance")[d1a$condition])
d1a$scenario <- factor(d1a$scenario)
d1a$scenario <- factor(c("New Yorker","Birthday","Blouse","Dessert","German Meal","Apples", "Seeing-eye Dog",
                         "Coin Flip","Hide and Seek","Sky-gazing","Mona Lisa","Arborist")[d1a$scenario])
d1a$response <- factor(d1a$response)
d1a$response <- factor(c("false","true")[d1a$response])


## specifying whether they got the response correct or not
d1a$correct <- FALSE
d1a$correct[d1a$condition=="True Belief" & d1a$response=="true"] <- TRUE
d1a$correct[d1a$condition=="Different Belief" & d1a$response=="false"] <- TRUE
d1a$correct[d1a$condition=="Ignorance" & d1a$response=="false"] <- TRUE

## creating average response times for each participant
d1a.rts <- d1a %>% filter(correct & d1a$rt<10000) %>% 
                    group_by(subj) %>% 
                    summarise(
                      mean = mean(rt, na.rm=TRUE)
                    )
#hist(d1a.rts$mean,breaks=50,col="Red")

# creating percent correct for each participant
d1a.correct <- d1a %>% group_by(subj) %>% summarise(
                    mean = mean(as.numeric(correct), na.rm=TRUE)
                    )
#hist(d1a.correct$mean,breaks=50,col="Red")

exclude1a.1 <- d1a.rts$subj[d1a.rts$mean<1000|d1a.rts$mean>4000] # participants to exclude based on RT
exclude1a.2 <- d1a.correct$subj[d1a.correct$mean<acc.thresh] # participants to exclude based on correctness

d1a <- d1a[!(d1a$subj %in% exclude1a.1) & !(d1a$subj %in% exclude1a.2),] # excluding those two sets of participants
d1a <- d1a[d1a$rt>rt.min & d1a$rt<rt.max,] # excluding all trials that were less than 1000ms or more than 4500ms
d1a <- d1a %>% filter(correct) # excluding all trials where the incorrect answer was given

## here is the way we fit the models for reference:

#lm1a.0 <- lmer(rt ~ condition * question + (1|scenario) + (condition * question|subj), data=d1a,control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))

## here's the test for the interaction effect:

#lm1a.1 <- lmer(rt ~ condition + question + (1|scenario) + (condition * question|subj), data=d1a, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))

#lm1a.inter <- anova(lm1a.0,lm1a.1)
#saveRDS(lm1a.inter,"../models_new/lm1a_inter.rda")

## here's the test for the effect of knowledge vs belief
#lm1a.2 <- lmer(rt ~ condition + (1|scenario) + (condition * question|subj), data=d1a, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
#lm1a.quest <- anova(lm1a.1,lm1a.2)
#saveRDS(lm1a.quest,"../models_new/lm1a_quest.rda")

## here's the test for the effect of condition
#lm1a.3 <- lmer(rt ~ question + (1|scenario) + (condition * question|subj), data=d1a,control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
#lm1a.cond <- anova(lm1a.1,lm1a.3)
#saveRDS(lm1a.cond, "../models_new/lm1a_cond.rda")

## reading in saved models from above to save time when compiling

lm1a.inter <- readRDS("../Analysis/Models/Exp1/lm1a_inter.rda") # question*condition interaction effect
lm1a.quest <- readRDS("../Analysis/Models/Exp1/lm1a_quest.rda") # main effect of question
lm1a.cond <- readRDS("../Analysis/Models/Exp1/lm1a_cond.rda")   # main effect of condition

```

The overall analysis of participants' response times revealed no main effect of Information Condition, $\chi^2(2)$ = `r round(lm1a.cond$Chisq[2],digits=3)`, *p* = `r round(lm1a.cond$'Pr(>Chisq)'[2],digits=3)`, and no Information Condition $\times$ Ascription Type interaction, $\chi^2(2)$ = `r round(lm1a.inter$Chisq[2],digits=3)`, *p* = `r round(lm1a.inter$'Pr(>Chisq)'[2],digits=3)`.[^2] However, there was a significant main effect of Ascription Type, $\chi^2(1)$ = `r round(lm1a.quest$Chisq[2],digits=3)`, *p* \< `r max(round(lm1a.quest$'Pr(>Chisq)'[2],digits=3),0.001)`), such that participants were faster to correctly assess the truth of statements about whether the agent knows something (*M*~rt~ = `r round(mean(d1a$rt[d1a$question=="Know"],na.rm=T),digits=2)`ms, *SD*~rt~ = `r round(sd(d1a$rt[d1a$question=="Know"],na.rm=T),digits=2)`) than statements about whether the agent thinks something (*M*~rt~ = `r round(mean(d1a$rt[d1a$question=="Think"],na.rm=T),digits=2)`ms, *SD*~rt~ = `r format(round(sd(d1a$rt[d1a$question=="Think"],na.rm=T),digits=2),nsmall=2)`).

[^2]: The fixed and random effects structure for the full model was specified as: \textsf{response.time $\sim$ belief.condition $*$ ascription.type $+$ (1$|$scenario) $+$ (belief.condition $*$ ascription.type$|$subj)}. We were not able to include random slopes for the scenario because the crossed nature of the random effects in our experiment prevented convergence. We employ a similar analysis approach throughout, except where explicitly noted.


## Experiment 1b Results

```{r study1bAnalysis, echo=FALSE, warning=FALSE, message=FALSE }

d1b <- read.csv("../Studies/Exp1/Data/study1b.csv")

d1b <- subset(d1b,d1b$question!="D") ##removes all distractor trials

d1b$question <- factor(d1b$question)
d1b$question <- factor(c("Think","Know")[d1b$question])
d1b$condition <- factor(d1b$condition)
d1b$condition <- factor(c("True Belief","Different Belief","Ignorance","True Belief","Different Belief","Ignorance")[d1b$condition])
d1b$scenario <- factor(d1b$scenario)
d1b$scenario <- factor(c("New Yorker","Birthday","Blouse","Dessert","German Meal","Apples", "Seeing-eye Dog",
                         "Coin Flip","Hide and Seek","Sky-gazing","Mona Lisa","Arborist")[d1b$scenario])
d1b$response <- factor(d1b$response)
d1b$response <- factor(c("false","true")[d1b$response])


## specifying whether they got the response correct or not
d1b$correct <- FALSE
d1b$correct[d1b$condition=="True Belief" & d1b$response=="true"] <- TRUE
d1b$correct[d1b$condition=="Different Belief" & d1b$response=="false"] <- TRUE
d1b$correct[d1b$condition=="Ignorance" & d1b$response=="false"] <- TRUE

## creating average response times for each participant
d1b.rts <- d1b %>% filter(correct & d1b$rt<10000) %>% 
                    group_by(subj) %>% 
                    summarise(
                      mean = mean(rt, na.rm=TRUE)
                    )
#hist(d1b.rts$mean,breaks=50,col="Red")

# creating percent correct for each participant
d1b.correct <- d1b %>% group_by(subj) %>% summarise(
                    mean = mean(as.numeric(correct), na.rm=TRUE)
                    )
#hist(d1b.correct$mean,breaks=50,col="Red")

exclude1b.1 <- d1b.rts$subj[d1b.rts$mean<1000|d1b.rts$mean>4000] # participants to exclude based on RT
exclude1b.2 <- d1b.correct$subj[d1b.correct$mean<acc.thresh] # participants to exclude based on correctness

d1b <- d1b[!(d1b$subj %in% exclude1b.1) & !(d1b$subj %in% exclude1b.2),] # excluding those two sets of participants
d1b <- d1b[d1b$rt>rt.min & d1b$rt<rt.max,] # excluding all trials that were less than 1000ms or more than 4500ms
d1b <- d1b %>% filter(correct) # excluding all trials where the incorrect answer was given

## here is the way we fit the models for reference:
# 
# lm1b.0 <- lmer(rt ~ condition * question + (1|scenario) + (condition * question|subj), data=d1b, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# ## here's the test for the interaction effect:
# 
# lm1b.1 <- lmer(rt ~ condition + question + (1|scenario) + (condition * question|subj), data=d1b,control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# lm1b.inter <- anova(lm1b.0,lm1b.1)
# saveRDS(lm1b.inter,"../models_new/lm1b_inter.rda")
# 
# ## here's the test for the effect of knowledge vs belief
# lm1b.2 <- lmer(rt ~ condition + (1|scenario) + (condition * question|subj), data=d1b, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# lm1b.quest <- anova(lm1b.1,lm1b.2)
# saveRDS(lm1b.quest,"../models_new/lm1b_quest.rda")
# 
# ## here's the test for the effect of condition
# lm1b.3 <- lmer(rt ~ question + (1|scenario) + (condition * question|subj), data=d1b, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# lm1b.cond <- anova(lm1b.1,lm1b.3)
# saveRDS(lm1b.cond, "../models_new/lm1b_cond.rda")

## reading in saved models from above to save time when compiling

lm1b.inter <- readRDS("../Analysis/Models/Exp1/lm1b_inter.rda") # question*condition interaction effect
lm1b.quest <- readRDS("../Analysis/Models/Exp1/lm1b_quest.rda") # main effect of question
lm1b.cond <- readRDS("../Analysis/Models/Exp1/lm1b_cond.rda")   # main effect of condition

```


Experiment 1b was a direct well-powered replication of Experiment 1a, with the only difference being that participant recruitment was through Amazon's Mechanical Turk. The analysis of participants' response times again revealed no main effect of Information Condition, $\chi^2(2)$ = `r round(lm1b.cond$Chisq[2],digits=3)`, *p* = `r round(lm1b.cond$'Pr(>Chisq)'[2],digits=3)`, but did reveal a main effect of Ascription Type, $\chi^2(1)$ = `r round(lm1b.quest$Chisq[2],digits=3)`, *p* \< `r max(round(lm1b.quest$'Pr(>Chisq)'[2],digits=3),0.001)`), such that participants were faster to correctly assess the truth of statements about whether the agent knows something (*M*~rt~ = `r round(mean(d1b$rt[d1b$question=="Know"],na.rm=T),digits=2)`ms, *SD*~rt~ = `r round(sd(d1b$rt[d1b$question=="Know"],na.rm=T),digits=2)`) than statements about whether the agent thinks something (*M*~rt~ = `r round(mean(d1b$rt[d1b$question=="Think"],na.rm=T),digits=2)`ms, *SD*~rt~ = `r round(sd(d1b$rt[d1b$question=="Think"],na.rm=T),digits=2)`). Additionally, there was a significant Information Condition $\times$ Ascription Type interaction, $\chi^2(2)$ = `r round(lm1b.inter$Chisq[2],digits=3)`, *p* \< `r max(.001, round(lm1b.inter$'Pr(>Chisq)'[2],digits=3))`. Given the identical methods of Study 1a and 1b, we next combined the data from both experiments to ask whether the interaction was significant across all of the data, and to provide the best estimate of the other effects.

## Combined Analyses

```{r study1cAnalysis, echo=FALSE, warning=FALSE, message=FALSE }

d1 <- rbind(d1a,d1b)

## here is the way we fit the models for reference:

#lm1.0 <- lmer(rt ~ condition * question + (1|scenario) + (condition * question|subj), data=d1,control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
#saveRDS(lm1.0, "Models/lm1.0.rda")
# 
# ## here's the test for the interaction effect:
# 
# lm1.1 <- lmer(rt ~ condition + question + (1|scenario) + (condition * question|subj), data=d1,control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# lm1.inter <- anova(lm1.0,lm1.1)
# saveRDS(lm1.inter,"../models_new/lm1_inter.rda")
# 
# ## here's the test for the effect of knowledge vs belief
# 
# lm1.2 <- lmer(rt ~ condition + (1|scenario) + (condition * question|subj), data=d1, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# lm1.quest <- anova(lm1.1,lm1.2)
# saveRDS(lm1.quest,"../models_new/lm1_quest.rda")
# 
# ## here's the test for the effect of condition
# 
# lm1.3 <- lmer(rt ~ question + (1|scenario) + (condition * question|subj), data=d1, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# lm1.cond <- anova(lm1.1,lm1.3)
# saveRDS(lm1.cond, "../models_new/lm1_cond.rda")

## reading in saved models from above to save time when compiling

lm1.inter <- readRDS("../Analysis/Models/Exp1/lm1_inter.rda") # question*condition interaction effect
lm1.quest <- readRDS("../Analysis/Models/Exp1/lm1_quest.rda") # main effect of question
lm1.cond <- readRDS("../Analysis/Models/Exp1/lm1_cond.rda")   # main effect of condition

lm1.0 <- readRDS("../Analysis/Models/Exp1/lm1.0.rda") # 

```

```{r, echo=FALSE, warning=FALSE, message=FALSE}
# pairwise comparison with emmeans
# lm1.0_pw <- emmeans(lm1.0, specs = pairwise ~ condition:question, pbkrtest.limit = 5534)
# lm1_pairwise <- lm1.0_pw$contrasts
# saveRDS(lm1_pairwise, "../Analysis/Models/Exp1/lm1_pairwise.rda")

lm1_pairwise <- as.data.frame(readRDS("../Analysis/Models/Exp1/lm1_pairwise.rda"))
```

The combined analysis continued to reveal no main effect of Information Condition, $\chi^2(2)$ = `r round(lm1.cond$Chisq[2],digits=3)`, *p* = `r round(lm1.cond$'Pr(>Chisq)'[2],digits=3)`, but did reveal a main effect of Ascription Type, $\chi^2(1)$ = `r round(lm1.quest$Chisq[2],digits=3)`, *p* \< `r max(round(lm1.quest$'Pr(>Chisq)'[2],digits=3),0.001)`), such that participants were faster to correctly assess the truth of statements about whether the agent knows something (*M*~rt~ = `r round(mean(d1$rt[d1$question=="Know"],na.rm=T),digits=2)`ms, *SD*~rt~ = `r round(sd(d1$rt[d1$question=="Know"],na.rm=T),digits=2)`) than statements about whether the agent thinks something (*M*~rt~ = `r round(mean(d1$rt[d1$question=="Think"],na.rm=T),digits=2)`ms, *SD*~rt~ = `r round(sd(d1$rt[d1$question=="Think"],na.rm=T),digits=2)`). Moreover, we continued to observe a significant Information Condition $\times$ Ascription Type interaction, $\chi^2(2)$ = `r round(lm1.inter$Chisq[2],digits=3)`, *p* = `r max(.001,round(lm1.inter$'Pr(>Chisq)'[2],digits=3))`.

```{r study1c ttests, echo=FALSE, warning=FALSE, message=FALSE }

## here is the way we fit the models for reference:

## True Information
# 
# d1.tb <- d1 %>% filter(condition=="True Belief")
# 
# lm1TB.0 <- lmer(rt ~ question + (1|scenario) + (question|subj), data=d1.tb,control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# #
# lm1TB.1 <- lmer(rt ~ 1 + (1|scenario) + (question|subj), data=d1.tb, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# #
# lm1.tb <- anova(lm1TB.0,lm1TB.1)
# saveRDS(lm1.tb,"../models_new/lm1_tb.rda")
# 
# # ## No Information
# # 
# d1.ig <- d1 %>% filter(condition=="Ignorance")
# # 
# lm1IG.0 <- lmer(rt ~ question + (1|scenario) + (question|subj), data=d1.ig,control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# #
# lm1IG.1 <- lmer(rt ~ 1 + (1|scenario) + (question|subj), data=d1.ig,
#                control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# #
# lm1.ig <- anova(lm1IG.0,lm1IG.1)
# saveRDS(lm1.ig,"../models_new/lm1_ig.rda")
# 
# ## False Information
# 
# d1.fb <- d1 %>% filter(condition=="Different Belief")
# 
# lm1FB.0 <- lmer(rt ~ question + (1|scenario) + (question|subj), data=d1.fb,control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# #
# lm1FB.1 <- lmer(rt ~ 1 + (1|scenario) + (question|subj), data=d1.fb, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# #
# lm1.fb <- anova(lm1FB.0,lm1FB.1)
# saveRDS(lm1.fb,"../models_new/lm1_fb.rda")

## reading in saved models from above to save time when compiling

lm1.tb <- readRDS("../Analysis/Models/Exp1/lm1_tb.rda") # True belief - effect of question
lm1.ig <- readRDS("../Analysis/Models/Exp1/lm1_ig.rda") # Ignorance - effect of question
lm1.fb <- readRDS("../Analysis/Models/Exp1/lm1_fb.rda") # False belief - effect of question


## Similar story using t-tests between participant-x-condition averages:
# 
# d1.sum1 <- d1 %>% group_by(question,condition,subj) %>% summarise(Submean = mean(rt, na.rm=TRUE))
# # #
# # # ## True belief
# d1.knowTB <- d1.sum1$subj[d1.sum1$question=="Know" & d1.sum1$condition=="True Belief"]
# d1.thinkTB <- d1.sum1$subj[d1.sum1$question=="Think" & d1.sum1$condition=="True Belief"]
# d1.TB <- d1.knowTB[d1.knowTB %in% d1.thinkTB]
# #
# d1.TB <- d1.sum1[d1.sum1$subj %in% d1.TB & d1.sum1$condition=="True Belief",]
# #
# var.test(d1.TB$Submean[d1.TB$question=="Think"], d1.TB$Submean[d1.TB$question=="Know"])# p < .001
# d1.TB_t <- t.test(d1.TB$Submean[d1.TB$question=="Think"], d1.TB$Submean[d1.TB$question=="Know"], paired=T)
# d1.TB_c <- cohensD(d1.TB$Submean[d1.TB$question=="Think"], d1.TB$Submean[d1.TB$question=="Know"])
# #
# # # ## No belief
# d1.knowNB <- d1.sum1$subj[d1.sum1$question=="Know" & d1.sum1$condition=="Ignorance"]
# d1.thinkNB <- d1.sum1$subj[d1.sum1$question=="Think" & d1.sum1$condition=="Ignorance"]
# d1.NB <- d1.knowNB[d1.knowNB %in% d1.thinkNB]
# #
# d1.NB <- d1.sum1[d1.sum1$subj %in% d1.NB & d1.sum1$condition=="Ignorance",]
# #
# var.test(d1.NB$Submean[d1.NB$question=="Think"], d1.NB$Submean[d1.NB$question=="Know"])
# d1.NB_t <- t.test(d1.NB$Submean[d1.NB$question=="Think"], d1.NB$Submean[d1.NB$question=="Know"], var.equal=T, paired=T)
# d1.NB_c <- cohensD(d1.NB$Submean[d1.NB$question=="Think"], d1.NB$Submean[d1.NB$question=="Know"])
# #
# # # ## Different belief
# d1.knowDB <- d1.sum1$subj[d1.sum1$question=="Know" & d1.sum1$condition=="Different Belief"]
# d1.thinkDB <- d1.sum1$subj[d1.sum1$question=="Think" & d1.sum1$condition=="Different Belief"]
# d1.DB <- d1.knowDB[d1.knowDB %in% d1.thinkDB]
# #
# d1.DB <- d1.sum1[d1.sum1$subj %in% d1.DB & d1.sum1$condition=="Different Belief",]
# #
# var.test(d1.DB$Submean[d1.DB$question=="Think"], d1.DB$Submean[d1.DB$question=="Know"])
# d1.DB_t <- t.test(d1.DB$Submean[d1.DB$question=="Think"], d1.DB$Submean[d1.DB$question=="Know"], var.equal=T, paired=T)
# d1.DB_c <- cohensD(d1.DB$Submean[d1.DB$question=="Think"], d1.DB$Submean[d1.DB$question=="Know"])

```

Planned pairwise comparisons were carried out using the Estimated Marginal Means package in R [@emmeans]. These analyses revealed that the largest difference in response times was found in the No Information conditions, *t*(`r round(lm1_pairwise[lm1_pairwise$contrast == "Ignorance Know - Ignorance Think",]$df, digits=2)`) = `r round(lm1_pairwise[lm1_pairwise$contrast == "Ignorance Know - Ignorance Think",]$t.ratio, digits=3)`, *p* < `r format(max(lm1_pairwise[lm1_pairwise$contrast == "Ignorance Know - Ignorance Think",]$p.value, .0001), scientific=F)`, followed by a somewhat smaller difference in the True Information conditions, *t*(`r round(lm1_pairwise[lm1_pairwise$contrast == "True Belief Know - True Belief Think",]$df, digits=2)`) = `r round(lm1_pairwise[lm1_pairwise$contrast == "True Belief Know - True Belief Think",]$t.ratio, digits=3)`, *p* = `r round(lm1_pairwise[lm1_pairwise$contrast == "True Belief Know - True Belief Think",]$p.value, digits=3)`. The smallest response time difference was found in the False Information conditions,  where there was no significant difference between knowledge and belief ascriptions *t*(`r round(lm1_pairwise[lm1_pairwise$contrast == "Different Belief Know - Different Belief Think",]$df, digits=2)`) = `r round(lm1_pairwise[lm1_pairwise$contrast == "Different Belief Know - Different Belief Think",]$t.ratio, digits=3)`, *p* = `r round(lm1_pairwise[lm1_pairwise$contrast == "Different Belief Know - Different Belief Think",]$p.value, digits=3)`. Response time differences in each information condition showed the same pattern such that participants were faster to evaluate knowledge ascriptions than belief ascriptions (see Figure 1).

```{r study1c plot, fig.width=7, fig.height=5, echo=FALSE, message=FALSE, eval=FALSE,warning=FALSE}

d1 <- d1 %>%
  mutate(condition2 = case_when(
    condition == 'True Belief' ~ 'True Information',
    condition == 'Ignorance' ~ 'No Information',
    condition == 'Different Belief' ~ 'False Information',
    TRUE ~ condition # for values not matched in conditions, keep original values
  ))

d1.sumV <- d1 %>% group_by(question,condition2,scenario) %>% summarise(
                  rt = mean(rt, na.rm=TRUE))

d1.sum1 <- d1 %>% group_by(question,condition2,subj) %>% summarise(
                  Submean = mean(rt, na.rm=TRUE))

d1.sum <- d1.sum1 %>% group_by(question,condition2) %>% summarise(
                 N    = length(Submean),
                 rt = mean(Submean, na.rm=TRUE),
                 mean = mean(Submean, na.rm=TRUE),
                 sd   = sd(Submean,na.rm=TRUE),
                 se   = sd / sqrt(N) )


d1$condition2 <- factor(d1$condition2, levels=c("True Information","No Information","False Information"))


d1.sumV$condition2 <- factor(d1.sumV$condition2, levels=c("True Information","No Information","False Information"))
 
d1.sum$condition2 <- factor(d1.sum$condition2, levels=c("True Information","No Information","False Information"))

## plot
d1.plot <- d1 %>% ggplot(aes(x=question, y=rt, fill=question, color=question)) +  
  facet_wrap(~condition2,shrink=T) +
  scale_fill_manual(values=c("#bdd7e7", "#2171b5")) + ###bdd7e7 #6baed6 
  geom_point(aes(group=question),stat="identity",
             position=position_jitterdodge(jitter.width=.5,dodge.width=.9),
             alpha=.05, color="black",size=.1) +   
  # geom_point(data=d1.sumV, aes(label=as.numeric(scenario)),stat="identity",
  #            position=position_dodge(.9),
  #            alpha=.25, color="black") +   
  geom_violin(data=d1.sumV, alpha=.1, color= "black", linewidth=.1) +  
  geom_point(data=d1.sum,aes(x=question, y=rt, color=question),
             position=position_dodge(.9), color="black") +
  geom_line(data=d1.sum, aes(x=question, y=rt, group=condition2),color="black",alpha=.8) +
  #geom_line(data=d1.sumV, aes(x=question, y=rt, group=scenario),color="black",alpha=.5) +
  geom_errorbar(data=d1.sum,aes(ymin=rt-se, ymax=rt+se), width=.2, position=position_dodge(.9),color="Black") + 
  ylab("Response time (ms)") +
  xlab("") +
  theme_bw() +
  theme(
     plot.background = element_blank()
     ,panel.grid.major = element_blank()
     ,panel.grid.minor = element_blank()
     ,legend.title=element_blank()
     ,legend.text=element_text(size=rel(1))
     ,legend.justification=c(1,1)
     ,legend.position="none"
     ,legend.key.width = unit(0.8, "cm")
     ,legend.key.height = unit(0.4, "cm")
     ,axis.text.y=element_text(size=rel(1))
     ,axis.title.y=element_text(size=rel(1),vjust=.9)
     ,axis.title.x=element_blank()
     ,axis.text.x=element_text(size=rel(1.5))
     ,axis.ticks = element_blank()
     ,strip.text=element_text(size=rel(1.25))
   )  + 
  scale_y_continuous(limits = c(2000, 3100)) 

print(d1.plot)

#ggsave(d1.plot, file="../Analysis/Figures/fig1_exp1.jpg",dpi=300, height = 5, width = 7, units = "in")
```


![Figure 1](../Analysis/Figures/fig1_exp1.jpg "Figure 1") *Figure 1.* Response times for correct evaluations of knowledge ascriptions (left points and violins) and belief ascriptions (right points and violins) as a function of Information Condition (separate panels). Small points indicate trial-level responses, violins illustrate scenario- or item-level distributions, large dark points depict overall means, and error bars depict +/- 1 SEM.


```{r study1 thinks ttests, echo=FALSE, warning=FALSE, message=FALSE }
# # 
# d1.thinkDB <- d1.sum1$subj[d1.sum1$question=="Think" & d1.sum1$condition=="Different Belief"]
# # 
# # ## different belief vs. true belief
# d1.thinkTB <- d1.sum1$subj[d1.sum1$question=="Think" & d1.sum1$condition=="True Belief"]
# d1.thinksDB_TB <- d1.thinkDB[d1.thinkDB %in% d1.thinkTB]
# # 
# d1.T_DBvTB <- d1.sum1[d1.sum1$subj %in% d1.thinksDB_TB & d1.sum1$question=="Think",]
# # 
# var.test(d1.T_DBvTB$Submean[d1.T_DBvTB$condition=="Different Belief"],
#           d1.T_DBvTB$Submean[d1.T_DBvTB$condition=="True Belief"]) # p = 0.22
# # 
# d1.T_DBvTB.t <- t.test(d1.T_DBvTB$Submean[d1.T_DBvTB$condition=="Different Belief"], 
#                         d1.T_DBvTB$Submean[d1.T_DBvTB$condition=="True Belief"], var.equal = T, paired = T)
# d1.T_DBvTB.c <- cohensD(d1.T_DBvTB$Submean[d1.T_DBvTB$condition=="Different Belief"], 
#                         d1.T_DBvTB$Submean[d1.T_DBvTB$condition=="True Belief"])
# # 
# # ## different belief vs. ignorance
# d1.thinkNB <- d1.sum1$subj[d1.sum1$question=="Think" & d1.sum1$condition=="Ignorance"]
#  d1.thinksDB_NB <- d1.thinkNB[d1.thinkNB %in% d1.thinkDB]
# # 
#  d1.T_DBvNB <- d1.sum1[d1.sum1$subj %in% d1.thinksDB_NB & d1.sum1$question=="Think",]
# # 
# var.test(d1.T_DBvNB$Submean[d1.T_DBvNB$condition=="Different Belief"],
#           d1.T_DBvNB$Submean[d1.T_DBvNB$condition=="True Belief"]) # p = 0.09
# # 
# d1.T_DBvNB.t <- t.test(d1.T_DBvNB$Submean[d1.T_DBvNB$condition=="Different Belief"], 
#                        d1.T_DBvNB$Submean[d1.T_DBvNB$condition=="Ignorance"], var.equal = T, paired = T)
# d1.T_DBvNB.c <- cohensD(d1.T_DBvNB$Submean[d1.T_DBvNB$condition=="Different Belief"], 
#                        d1.T_DBvNB$Submean[d1.T_DBvNB$condition=="Ignorance"])

```

## Discussion

If evaluations of others’ knowledge involve or require evaluations of belief, then we would expect that correctly determining whether someone knows something would take at least as long as determining whether someone believes that thing. We tested this prediction but found clear evidence that the opposite is true: correct evaluations of knowledge are made *before* correct evaluations of belief. In other words, the evidence suggests that participants are both attributing knowledge (in the True Information condition) and denying knowledge (in the No Information conditions) before they have been able to determine whether the agent believes the relevant claim. 

A further question is why we observed an interaction effect, such that the difference in response times in assessing knowledge and belief ascriptions differed in the various information conditions. Before making much of this unpredicted interaction effect, we first want to ask whether it replicates, and ensure that the observed effects are not arising from some simpler, alternative explanation. One potential concern with this initial study is that it involves cases in which some of the belief ascriptions may be pragmatically odd Specifically, in cases where an agent meets all of the criteria for knowledge (as in the True Information example), it may sound unnatural to describe the agent as believing some proposition (as in **Think**) rather than describing the agent as knowing that proposition (as in **Know**). After all, the agent does not merely think the proposition in question, but also knows it. In such cases, while belief ascriptions will, of course, be strictly true, they may also be pragmatically odd or infelicitous. To illustrate with an example, imagine that there is an sandwich in the fridge and Sarah knows that fact. In such a case, it might seem odd to use the sentence "Sarah thinks that there is an sandwich in the fridge." This sentence would be true, but all the same, people might think it would be more natural to use the sentence "Sarah knows that there is a sandwich in the fridge." In line with this intuition, work in linguistics has offered theories that may help explain the pragmatic infelicity of using the word "think" in cases like this one where "know" would also be true @heim1991artikel; @hirschberg1985theory.

# Experiment 2


```{r exp2 rt analysis, echo=FALSE, warning=FALSE, message=FALSE}

df <- read.csv('../Studies/Exp2/Data/study2_clean.csv', header=T)
df <- df[df$in_sample == "True" & df$correct == "True",]
NT <- df[df$group == "neurotypical",]
ASD <- df[df$group == "autism",]

aqdf <- read.csv('../Studies/Exp2/Data/aqrtdiffs.csv', header=T)


# Simple RT analyses

# lm2.0 <- lmer(rt ~ agent_state*ascription*group + (agent_state + ascription|item) + (agent_state|subject), data=df, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# ## 3 way interaction
# lm2.1 <- lmer(rt ~ agent_state*ascription + group*ascription + agent_state*group + (agent_state + ascription|item) + (agent_state|subject), data=df, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# rt2_3x <- anova(lm2.0,lm2.1) # p = 0.03829 *
# saveRDS(rt2_3x, "../Analysis/Models/Exp2/rt2_3x.rda")

rt2_3x <- readRDS("../Analysis/Models/Exp2/rt2_3x.rda")

## Split into groups to groups to investigate 

### Neurotypical participants

#### agent_state by ascription interaction 

# lm2.1n <- lmer(rt ~ agent_state*ascription + (agent_state + ascription|item) + (agent_state|subject), data=NT, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# lm2.2n <- lmer(rt ~ agent_state+ascription + (agent_state + ascription|item) + (agent_state|subject), data=NT, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# rt_nt_stateXasrip <- anova(lm2.1n,lm2.2n) # p = 6.087e-07 ***
# saveRDS(rt_nt_stateXasrip, "../Analysis/Models/Exp2/rt_nt_stateXasrip.rda")

rt_nt_stateXasrip <- readRDS("../Analysis/Models/Exp2/rt_nt_stateXasrip.rda")

####  main effect of ascription type

# lm2.3n <- lmer(rt ~ agent_state + (agent_state + ascription|item) + (agent_state|subject), data=NT, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# rt_nt_ascrip <- anova(lm2.2n,lm2.3n) # p = 0.0001071 ***
# 
# saveRDS(rt_nt_ascrip, "../Analysis/Models/Exp2/rt_nt_ascrip.rda")

rt_nt_ascrip <- readRDS("../Analysis/Models/Exp2/rt_nt_ascrip.rda")

#### main effect of information condition (agent_state)
 
# lm2.4n <- lmer(rt ~ ascription + (agent_state + ascription|item) + (agent_state|subject), data=NT, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# rt_nt_state <- anova(lm2.2n,lm2.4n) # p = 0.4918
# saveRDS(rt_nt_state, "../Analysis/Models/Exp2/rt_nt_state.rda")

rt_nt_state <- readRDS("../Analysis/Models/Exp2/rt_nt_state.rda")

#### estimated marginal means to ask about the effect of ascription at each information state

# lm2.1n.pw <- emmeans(lm2.1n, pairwise ~ ascription|agent_state)
# lm2n_pairwise <- lm2.1n.pw$contrasts
# saveRDS(lm2n_pairwise, "../Analysis/Models/Exp2/lm2n_pairwise.rda")

lm2n_pairwise <- as.data.frame(readRDS("../Analysis/Models/Exp2/lm2n_pairwise.rda"))

### Autistic participants

#### agent_state by ascription interaction 

# lm2.1a <- lmer(rt ~ agent_state*ascription + (agent_state + ascription|item) + (agent_state|subject), data=ASD, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# lm2.2a <- lmer(rt ~ agent_state+ascription + (agent_state + ascription|item) + (agent_state|subject), data=ASD, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# rt_at_stateXasrip <- anova(lm2.1a,lm2.2a) # p = 0.8536
# saveRDS(rt_at_stateXasrip, "../Analysis/Models/Exp2/rt_at_stateXasrip.rda")

rt_at_stateXasrip <- readRDS("../Analysis/Models/Exp2/rt_at_stateXasrip.rda")

#### main effect of ascription type

# lm2.3a <- lmer(rt ~ agent_state + (agent_state + ascription|item) + (agent_state|subject), data=ASD, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# rt_at_ascrip <- anova(lm2.2a,lm2.3a) # p = 0.0001699 ***
# saveRDS(rt_at_ascrip, "../Analysis/Models/Exp2/rt_at_ascrip.rda")

rt_at_ascrip <- readRDS("../Analysis/Models/Exp2/rt_at_ascrip.rda")

####  main effect of information condition (agent_state)

# lm2.4a <- lmer(rt ~ ascription + (agent_state + ascription|item) + (agent_state|subject), data=ASD, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# rt_at_state <- anova(lm2.2a,lm2.4a) # p = 0.2993
# saveRDS(rt_at_state, "../Analysis/Models/Exp2/rt_at_state.rda")

rt_at_state <- readRDS("../Analysis/Models/Exp2/rt_at_state.rda")

#### estimated marginal means to ask about the effect of ascription at each information state 
# lm2.1a.pw <- emmeans(lm2.1a, pairwise ~ ascription|agent_state)
# lm2a_pairwise <- lm2.1a.pw$contrasts
# saveRDS(lm2a_pairwise, "../Analysis/Models/Exp1/lm2a_pairwise.rda")

# not reported as no significant interaction, but here for completeness:
lm2a_pairwise <- as.data.frame(readRDS("../Analysis/Models/Exp2/lm2a_pairwise.rda"))


## some additional unreported analyses if you don't split into groups but keep the data together

# ## 2 way interaction between agent_state and ascription
# lm2.2 <- lmer(rt ~group*ascription + agent_state*group + (agent_state + ascription|item) + (agent_state|subject), data=df, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# rt2_stateXascrip <- anova(lm2.1,lm2.2) # p = 0.000129 ***
# 
# ## 2 way interaction between group and ascription
# lm2.3 <- lmer(rt ~agent_state*ascription + agent_state*group + (agent_state + ascription|item) + (agent_state|subject), data=df, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# rt2_groupXascrip <- anova(lm2.1,lm2.3) # p = 0.7143
# 
# ## 2 way interaction between group and agent state
# lm2.4 <- lmer(rt ~group*ascription + agent_state*ascription + (agent_state + ascription|item) + (agent_state|subject), data=df, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# rt2_stateXgroup <- anova(lm2.1,lm2.4) # p = 0.006349 **

```

```{r aq10, echo=FALSE,message=FALSE,warning=FALSE}

## AQ 10
aqdf <- read.csv('../Studies/Exp2/Data/aqrtdiffs.csv', header=T)
#aqm <- lm('rt_diff ~ aq_score', data=aqdf)
#aqmod <- summary(aqm)
#saveRDS(aqmod,"../Analysis/Models/Exp2/rtDiff_AQmod.rda")
aqmod <- readRDS("../Analysis/Models/Exp2/rtDiff_AQmod.rda")

aq_grpdiff <- t.test(aqdf[aqdf$group=="neurotypical", ]$aq_score, aqdf[aqdf$group=="autism", ]$aq_score, paired=FALSE )
f <- aqmod$fstatistic
p <- pf(f[1],f[2],f[3],lower.tail=F)

```

```{r figure 2 panels, fig.width=7, fig.height=5, echo=FALSE, message=FALSE, warning=FALSE, eval=FALSE}

## Neurotypical RT fig

d2.sum2n <- df[df$group == "neurotypical",] %>% group_by(ascription, agent_state, subject) %>% summarise(Submean = mean(rt, na.rm=TRUE))
d2.sum2n <- d2.sum2n %>% group_by(ascription, agent_state) %>% summarise(
  N = length(Submean),
  rt = mean(Submean, na.rm=TRUE),
  mean = mean(Submean, na.rm=TRUE),
  sd   = sd(Submean,na.rm=TRUE),
  se   = sd / sqrt(N)
)

d2.sum2V2 <- df[df$group == "neurotypical",] %>% group_by(ascription, agent_state, item) %>% summarise(
  rt = mean(rt, na.rm=TRUE))


#Fig 3A
d2.plot2A <- df[df$group == "neurotypical",] %>% ggplot(aes(x=ascription, y=rt, fill=ascription, color=ascription)) +
  scale_fill_manual(values=c("#bdd7e7", "#2171b5")) + ###bdd7e7 #6baed6
  geom_point(aes(group=ascription),stat="identity",
              position=position_jitterdodge(jitter.width=.5,dodge.width=.9),
             alpha=.15, color="black",size=.1) +
  geom_violin(data=d2.sum2V2, alpha=.1, color= "black", linewidth=.1, adjust=1.4) +
  geom_point(data=d2.sum2n,aes(x=ascription, y=rt, color=ascription), 
             position=position_dodge(.9), 
             color="black", size=1.5) +
  geom_errorbar(data=d2.sum2n,aes(ymin=rt-se, ymax=rt+se), 
                width=.25, position=position_dodge(.9),
                color="Black") +
  geom_line(data=d2.sum2n, aes(x=ascription, y=rt, group=agent_state),
            color="black",alpha=.8) +
  facet_wrap(~agent_state,shrink=T) +
  ylab("Response time (ms)") +
  xlab("") +
  theme_bw() +
  theme(
    plot.background = element_blank()
    ,panel.grid.major = element_blank()
    ,panel.grid.minor = element_blank()
    ,legend.title=element_blank()
    ,legend.text=element_text(size=rel(1))
    ,legend.justification=c(1,1)
    ,legend.position="none"
    ,legend.key.width = unit(0.8, "cm")
    ,legend.key.height = unit(0.4, "cm")
    ,axis.text.y=element_text(size=rel(1))
    ,axis.title.y=element_text(size=rel(1),vjust=.9)
    ,axis.title.x=element_blank()
    ,axis.text.x=element_text(size=rel(1.5))
    ,axis.ticks = element_blank()
    ,strip.text=element_text(size=rel(1.25))
  )  + 
  scale_y_continuous(limits = c(2000, 3100)) +
  labs(tag = "A") +
  ggtitle("Neurotypical Group, N=389")

## ASD RT fig

d2.sum2 <- df[df$group == "autism",] %>% group_by(ascription, agent_state, subject) %>% summarise(Submean = mean(rt, na.rm=TRUE))
d2.sum2 <- d2.sum2 %>% group_by(ascription, agent_state) %>% summarise(
  N = length(Submean),
  rt = mean(Submean, na.rm=TRUE),
  mean = mean(Submean, na.rm=TRUE),
  sd   = sd(Submean,na.rm=TRUE),
  se   = sd / sqrt(N)
)

d2.sum2V <- df[df$group == "autism",] %>% group_by(ascription, agent_state, item) %>% summarise(
  rt = mean(rt, na.rm=TRUE))


#Fig 3B
d2.plot2B <- df[df$group == "autism",] %>% ggplot(aes(x=ascription, y=rt, fill=ascription, color=ascription)) +
  scale_fill_manual(values=c("#bdd7e7", "#2171b5")) + ###bdd7e7 #6baed6
  geom_point(aes(group=ascription),stat="identity",
              position=position_jitterdodge(jitter.width=.5,dodge.width=.9),
             alpha=.15, color="black",size=.1) +
  geom_violin(data=d2.sum2V, alpha=.1, color= "black", linewidth=.1, adjust=1.4) +
  geom_point(data=d2.sum2,aes(x=ascription, y=rt, color=ascription), 
             position=position_dodge(.9), 
             color="black", size=1.5) +
  geom_errorbar(data=d2.sum2,aes(ymin=rt-se, ymax=rt+se), 
                width=.25, position=position_dodge(.9),
                color="Black") +
  geom_line(data=d2.sum2, aes(x=ascription, y=rt, group=agent_state),
            color="black",alpha=.8) +
  facet_wrap(~agent_state,shrink=T) +
  ylab("Response time (ms)") +
  xlab("") +
  theme_bw() +
  theme(
    plot.background = element_blank()
    ,panel.grid.major = element_blank()
    ,panel.grid.minor = element_blank()
    ,legend.title=element_blank()
    ,legend.text=element_text(size=rel(1))
    ,legend.justification=c(1,1)
    ,legend.position="none"
    ,legend.key.width = unit(0.8, "cm")
    ,legend.key.height = unit(0.4, "cm")
    ,axis.text.y=element_text(size=rel(1))
    ,axis.title.y=element_text(size=rel(1),vjust=.9)
    ,axis.title.x=element_blank()
    ,axis.text.x=element_text(size=rel(1.5))
    ,axis.ticks = element_blank()
    ,strip.text=element_text(size=rel(1.25))
  )  + 
  scale_y_continuous(limits = c(2000, 3100)) +
  labs(tag = "B") +
  ggtitle("Autism Group, N=222")


# AQ-10 x RT fig

d2.plot2C <- aqdf %>% ggplot(aes(x=aq_score, y=rt_diff)) +
  geom_jitter(width=.25, alpha=.4, color="#1d649f")+
  geom_smooth(method=lm, alpha=.6, color="black")+
  ylab("RT difference (ms)\n[Thinks-Knows]") +
  xlab("Autism Quotient Score") +
  theme_bw() +
  theme(plot.background = element_blank()
        ,panel.grid.major = element_blank()
        ,panel.grid.minor = element_blank()
        ,axis.text.y=element_text(size=rel(1))
        ,axis.title.y=element_text(size=rel(1),vjust=.9)
        ,axis.title.x=element_text(size=rel(1),vjust=.9)
        ,axis.text.x=element_text(size=rel(1))
        ,axis.ticks = element_blank()
        ,plot.title=element_text(hjust=0.5, size=12)
        ,panel.border = element_blank()
        ,axis.line = element_line()) +
  scale_x_continuous(breaks=c(0:10))+
  scale_y_continuous(limits=c(-1350,1650), breaks=seq(-1000,1500,500))+
  labs(tag = "C") +
  ggtitle("All Participants")


```

```{r fig 2 combined, fig.width=14, fig.height=11, echo=FALSE, message=FALSE, warning=FALSE, eval=FALSE}

gl <- list(d2.plot2A,d2.plot2B,d2.plot2C)

fig2_combined <- grid.arrange(
  grobs = gl,
  widths = c(1/2, 1/2),
  heights =c(3/5,2/5),
  layout_matrix = rbind(c(1, 2),
                        c(3, 3))
)

ggsave(fig2_combined, file="../Analysis/Figures/fig2_exp2.jpg",dpi=300, height = 11, width = 11, units = "in")
```

In this Experiment, we aimed to test for the impact of pragmatic infelicity while also asking whether the observed effect generalizes to participants with Autism Spectrum Disorder (ASD). To ask whether differences in the pragmatic understanding of the sentences participants evaluated might explain the observed response time difference between knowledge and belief ascriptions, we measured the extent to which the sentences participants evaluated were perceived as pragmatically odd by participants. While pragmatic theories do not strictly predict a difference in the felicity of knowledge and belief ascriptions when the agent is ignorant or has a false belief (as both ascriptions in these cases are simply false), we decided to collect felicity judgments for all of the sentences used in the previous experiment.

Additionally, we also investigated whether the previously observed response time effect generalizes to a sample of participants with ASD.  Prior research has demonstrated that individuals with autism present impairments in understanding pragmatic implicatures, especially when they involve reasoning about others’ mental states [@kissine2012]. Additionally, a separate well-established line of research on autism has demonstrated impaired mentalizing abilities as assessed through classic false-belief paradigms [@baron1985does]. Accordingly, participants with ASD make an ideal population for exploring the previously observed response time difference: If pragmatic differences are responsible for the comparative delay observed in correctly evaluating belief ascriptions, we should expect differences in pragmatic understanding to be reflected in the response time patterns between the ASD group and the neurotypical control group. Alternatively, if the pattern of response times found in Experiment 1 instead resulted from knowledge assessments being made in the absence of calculations of others beliefs, we expect participants with autism to demonstrate the same, or more extreme differences in response times between knowledge and belief ascriptions, as they may specifically have difficulty with belief representation but not knowledge representations [@deschrijver2020reframing; @phillips_knowledge_2020].

## Participants
Inclusion criteria required participants to be adults, fluent in English, and complete the experiment on a personal computer or laptop with a standard keyboard. The `r length(unique(df$subject))` participants included in subsequent analyses each had of a mean accuracy $\geq$ 67% and a mean response time $>1000ms$ and $< 4000ms$. `r length(unique(df[df$group=="neurotypical", ]$subject))` participants were recruited from Prolific (app.prolific.co) to the neurotypical group, (*M*~age~ = `r round(mean(df[df$group=="neurotypical" & df$trial_num==1,]$age), digits=2)`, *SD*~age~=`r round(sd(df[df$group=="neurotypical" & df$trial_num==1,]$age), digits=2)`, `r round((length(unique(df[df$group == "neurotypical" & df$gender=="female",]$subject))/389)*100, digits=2)`% female, `r round((length(unique(df[df$group == "neurotypical" & df$gender=="male",]$subject))/389)*100)`% male, `r round((length(unique(df[df$group == "neurotypical" & df$gender=="other",]$subject))/389)*100, digits=2)`% other, `r round( (length(unique(df[df$group == "neurotypical" & df$gender=="prefer not to disclose",]$subject))/389)*100, digits=2)`% not disclosed).

Crowdsourcing marketplaces such as Amazon’s Mechanical Turk or Prolific do not provide stratified participant pools based on an autism diagnosis. Therefore, recruitment of participants in this group came from study advertisements posted in various online forums and websites of organizations dedicated to the autism community during the period from August-October 2022. Given this open recruitment strategy, advanced security measures were taken to ensure that data collected from this group were provided by earnest participants[^4] [@Dennis2019]. A short screener required participants to endorse eligibility criteria, including fluency in English, being at least 18 years of age, a computer or laptop to complete the experiment (no phones/tablets, etc.), and self report of a clinical autism diagnosis. Overall, `r length(unique(df[df$group=="autism", ]$subject))` participants recruited to the autism group met the same accuracy and mean response time criteria described above for neurotypicals, (*M*~age~ = `r round(mean(df[df$group=="autism" & df$trial_num==1,]$age), digits=2)`, *SD*~age~=`r round(sd(df[df$group=="autism" & df$trial_num==1,]$age), digits=2)`, `r round((length(unique(df[df$group == "autism" & df$gender=="female",]$subject))/222)*100, digits=2)`% female, `r round((length(unique(df[df$group == "autism" & df$gender=="male",]$subject))/222)*100)`% male, `r round((length(unique(df[df$group == "autism" & df$gender=="other",]$subject))/222)*100, digits=2)`% other, `r round( (length(unique(df[df$group == "autism" & df$gender=="prefer not to disclose",]$subject))/222)*100, digits=2)`% not disclosed). Importantly, participants in the autism group scored significantly higher on the 10-item Autism Quotient scale (*M*~AQ-10~ = `r round(mean(aqdf[aqdf$group == "autism",]$aq_score), digits=2)`, *SD*~AQ-10~ = `r round(sd(aqdf[aqdf$group=="autism",]$aq_score), digits=2)`) than participants in the neurotypical group (*M*~AQ-10~ = `r round(mean(aqdf[aqdf$group == "neurotypical",]$aq_score), digits=2)`, *SD*~AQ-10~= `r round(sd(aqdf[aqdf$group=="neurotypical",]$aq_score), digits=2)`), _t_(`r round(aq_grpdiff$parameter, digits=2)`) = `r round(aq_grpdiff$statistic, digits=2)`, *p* < `r format(max(aq_grpdiff$p.value, .0001), scientific=F)`.

[^4]: After screening, eligible participants received an automated email invitation to participate containing a unique study access link that could only be used once. The experiment was served to eligible participants from a custom-built encrypted server (https://www.linode.com/), secured with a firewall and other security precautions. Connections to the experiment server were tested to ensure that the experiment was not accessed through a virtual privacy network, proxy, relay network, or tor node. Experiment access was also restricted to connections from English-speaking countries according to ISO-639 standards. Finally, two unrelated open-ended free text response questions were required items in the experiment and manually screened for nonsensical or suspicious responses.

## Stimuli and procedures
The experiment was conducted in two blocks. The first consisted of the same stimuli and procedures as Experiment 1a-b, in which the 3 (Information Condition: No Information, True Information, False Information) $\times$ 2 (Ascription Type: Know, Think) design conditions were randomized and counterbalanced across 12 unique vignette contexts. 12 distractor trials, in which participants were asked to evaluate the veracity of simple facts about a vignette, were also presented, but excluded from all analyses. Response times were recorded while participants evaluated mental state ascriptions as true or false. The second block consisted of the same conditions, such that the 12 vignettes and mental state ascriptions in the first block were presented a second time in randomized order. Each participant completed a training session in which the felicity judgment task was thoroughly explained. In addition, they completed two practice trials using statements that were clearly felicitous or clearly infelicitous, and were given feedback on their responses. On the test trials, participants were asked to judge how much the target statement ascribing a mental state to the agent in the vignette seemed infelicitous, and responded on a Likert scale from 1 (“sounds very normal”)  to 7 (“sounds very weird”). Following completion of the first two blocks, participants completed a 10-item Autism Quotient scale, provided demographic information, and were debriefed.

## Results

### Response-time analysis

We first asked whether we observed similar response-time patterns observed in Study 1 across both neurotypical and autistic participants. To do so, we began by analyzing the response time data to investigate whether there was a three-way interaction between participant group (neurotypical vs. autistic), Information Condition and Ascription Type, and found that there was  $\chi^2(2)$ = `r round(rt2_3x$Chisq[2],digits=3)`, *p* = `r round(rt2_3x$'Pr(>Chisq)'[2],digits=3)`. To further investigate this interaction, we next separately analyzed the response-time data from the neurotypical and autistic participants. 

#### Neuroptypical group

Focusing first on the neurotypical participants, we found that we closely replicated the patterns observed in Study 1. Specifically, we found no main effect of Information Condition, $\chi^2(2)$ = `r round(rt_nt_state$Chisq[2],digits=3)`, *p* = `r round(rt_nt_state$'Pr(>Chisq)'[2],digits=3)`, but again found a main effect of ascription type, $\chi^2(2)$ = `r round(rt_nt_ascrip$Chisq[2],digits=3)`, *p* < `r max(round(rt_nt_ascrip$'Pr(>Chisq)'[2],digits=3),.0010)`, and also observed a significant interaction between Information Condition and Ascription Type, $\chi^2(2)$ = `r round(rt_nt_stateXasrip$Chisq[2],digits=3)`, *p* < `r max(round(rt_nt_stateXasrip$'Pr(>Chisq)'[2],digits=3),.001)` (see Figure 2A). Planned pairwise comparisons using the Estimated Marginal Means [@emmeans] revealed that the largest difference in response times was again found in the No Information conditions, *z.ratio* = `r round(lm2n_pairwise[lm2n_pairwise$contrast=="Knows - Thinks"]$z.ratio[2], digits=3)`, *p* < `r format(max(lm2n_pairwise[lm2n_pairwise$contrast=="Knows - Thinks"]$p.value[2], .0001), scientific=F)`, followed by a smaller difference in the True Information conditions, *z.ratio* = `r round(lm2n_pairwise[lm2n_pairwise$contrast=="Knows - Thinks"]$z.ratio[3], digits=3)`, *p* = `r round(max(lm2n_pairwise[lm2n_pairwise$contrast=="Knows - Thinks"]$p.value[3], .001), digits=3)`, and in the False Information conditions, *z.ratio* = `r round(lm2n_pairwise[lm2n_pairwise$contrast=="Knows - Thinks"]$z.ratio[1], digits=3)`, *p* = `r round(max(lm2n_pairwise[lm2n_pairwise$contrast=="Knows - Thinks"]$p.value[1], .001), digits=3)`.


#### Autistic group

Focusing next on the autistic participants, we observed a variation on this broad pattern. We again found no main effect of Information Condition, $\chi^2(2)$ = `r round(rt_at_state$Chisq[2],digits=3)`, *p* = `r round(rt_at_state$'Pr(>Chisq)'[2],digits=3)`, but more importantly did again observe a main effect of Ascription Type, $\chi^2(2)$ = `r round(rt_at_ascrip$Chisq[2],digits=3)`, *p* < `r max(round(rt_at_ascrip$'Pr(>Chisq)'[2],digits=3),.001)`. Additionally, however, we no longer observed a significant interaction between Information Condition and Ascription Type, $\chi^2(2)$ = `r round(rt_at_stateXasrip$Chisq[2],digits=3)`, *p* = `r round(rt_at_stateXasrip$'Pr(>Chisq)'[2],digits=3)`. In contrast to the neurotypical group, we found that participants with autism made judgments of knowledge faster than judgments of belief to a roughly similar extent across Information Conditions (see Figure 2B).

![Figure2](../Analysis/Figures/fig2_exp2.jpg "Figure2") *Figure 2.* Response times of neruotypical (**A**) and autistic (**B**) groups for correct evaluations of knowledge ascriptions (left points and violins) and belief ascriptions (right points and violins) as a function of Information Condition (separate panels). Small points indicate trial-level responses, violins illustrate scenario- or item-level distributions, large dark points depict overall means, and error bars depict +/- 1 SEM. **C**: Difference in participant mean response time between belief and knowledge attribution trials as a function of participants’ score on the Autism Quotient-10 scale across all participants.

#### Autism Quotient scale and response times
In addition to looking for group-level differences between neurotypical and autistic participants, we also investigated the parametric relationship between autism scores (on the AQ-10) and response times in assessing mental states. To do so, we computed the difference between each subject’s average response time for belief and knowledge ascriptions, such that more positive values indicate that knowledge ascriptions were faster than belief ascriptions while more negative values indicate that belief ascriptions were faster. We then asked whether self-reported autism symptoms, as measured in all participants by the AQ-10, predicted the difference in speed with which knowledge and belief ascriptions are correctly evaluated. We did not find a significant relationship, and in fact, to the extent there is a systematic pattern, higher AQ-10 scores are associated with a *bigger* difference in response times, *F*(`r aqmod$fstatistic[2]`, `r aqmod$fstatistic[3]`) =`r round(aqmod$fstatistic[1], digits=2)`, *p* =`r round(p, digits=3)` (Figure 2C).

### Infelicity ratings

```{r infelicity, echo=FALSE, warning=FALSE, message=FALSE}

# Infelicity Models

# 3-way interaction
# mb0 <- lmer('infelicity ~ group*agent_state*ascription + (agent_state + ascription|item) + (agent_state|subject)', data=df, REML=FALSE)
# mb1 <- lmer('infelicity ~ group:agent_state + group:ascription + agent_state:ascription + (agent_state + ascription|item) + (agent_state|subject)', data=df, REML=FALSE)
# grpxagntxascrpt <- anova(mb0, mb1)
# 
# saveRDS(grpxagntxascrpt, "../Analysis/Models/Exp2/grpxagntxascrpt_fel.rda")
grpxagntxascrpt <- readRDS("../Analysis/Models/Exp2/grpxagntxascrpt_fel.rda")


# Group x Agent state interaction
# mb2 <- lmer(infelicity ~ group:ascription + agent_state:ascription + (agent_state + ascription|item) + (agent_state|subject), data=df, REML=FALSE)
# grpxagnt <- anova(mb1, mb2)
# 
# saveRDS(grpxagnt, "../Analysis/Models/Exp2//grpxagnt_fel.rda")
grpxagnt_fel <- readRDS("../Analysis/Models/Exp2/grpxagnt_fel.rda")


# Post-hoc tests for the interaction of group and agent
# mb1_post <- emmeans(mb1, specs=pairwise ~ group:agent_state, pbkrtest.limit = 6120)
# mb1_cntrst <- mb1_post$contrast
# saveRDS(mb1_cntrst, "../Analysis/Models/Exp2/grpxagent_fel_post.rda")
mb1_cntrst <- as.data.frame(readRDS("../Analysis/Models/Exp2/grpxagent_fel_post.rda"))
mb1_cntrst_df <- as.data.frame(mb1_cntrst)


# Agent x Ascription
# mb3 <- lmer(infelicity ~ group:agent_state + group:ascription  + (agent_state + ascription|item) + (agent_state|subject), data=df, REML=FALSE)
# agntxascrpt<- anova(mb1, mb3)
# saveRDS(agntxascrpt, "../Analysis/Models/Exp2/agntxascript_fel.rda")
agntxascrpt <- readRDS("../Analysis/Models/Exp2/agntxascript_fel.rda")

# post-hoc
# mb1_post_2 <- emmeans(mb1, specs=pairwise ~ agent_state:ascription, pbkrtest.limit = 6120)
# agntxascrpt_post <- mb1_post_2$contrast
# saveRDS(agntxascrpt_post, "../Analysis/Models/Exp2/agntxascrpt_fel_post.rda")
agntxascrpt_post <- as.data.frame(readRDS("../Analysis/Models/Exp2/agntxascrpt_fel_post.rda"))


# # Group X Ascription
# mb4 = lmer(infelicity ~ group:agent_state + agent_state:ascription + (agent_state + ascription|item) + (agent_state|subject), data=df, REML=FALSE)
# grpxascrpt <- anova(mb1, mb4)
# saveRDS(grpxascrpt, "../Analysis/Models/Exp2/grpxascrpt_fel.rda")
grpxascrpt <- readRDS("../Analysis/Models/Exp2/grpxascrpt_fel.rda")

  
# =================================================
# WITHIN GROUP: Agent x Ascription
## Neurotypicals
# mn0 <- lmer(infelicity ~ ascription*agent_state  + (agent_state + ascription|item) + (agent_state|subject), data=NT, REML=FALSE)
# mn1 <- lmer(infelicity ~ ascription + agent_state  + (agent_state + ascription|item) + (agent_state|subject), data=NT, REML=FALSE)
# ascrptxagnt_nt_fel <- anova(mn0, mn1)
# saveRDS(ascrptxagnt_nt_fel, "../Analysis/Models/Exp2/ascrptxagnt_nt_fel.rda")
ascrptxagnt_nt_fel <- readRDS("../Analysis/Models/Exp2/ascrptxagnt_nt_fel.rda")

# post hoc
# mn0_post_fel <- emmeans(mn0, specs=pairwise ~ ascription:agent_state, pbkrtest.limit = 4049)
# saveRDS(mn0_post_fel$contrast, "../Analysis/Models/Exp2/agntxascrpt_nt_fel_post.rda")
agntxascrpt_nt_fel_post<-as.data.frame(readRDS("../Analysis/Models/Exp2/agntxascrpt_nt_fel_post.rda"))

## ASD
# ma0 <- lmer('infelicity ~ ascription*agent_state + (agent_state + ascription|item) + (agent_state|subject) ', data=ASD, REML=FALSE)
# ma1 <- lmer('infelicity ~ ascription + agent_state + (agent_state + ascription|item) + (agent_state|subject) ', data=ASD, REML=FALSE)
# ascrptxagnt_asd_fel <- anova(ma0, ma1)
# saveRDS(ascrptxagnt_asd_fel, "../Analysis/Models/Exp2/ascrptxagnt_asd_fel.rda")
agntxascrpt_asd_fel <- readRDS("../Analysis/Models/Exp2/ascrptxagnt_asd_fel.rda")


# Infelicity x Ascription
# mb5 <- lmer('infelicity ~ agent_state + ascription + (agent_state + ascription|item) + (agent_state|subject)', data=df, REML=FALSE)
# mb6 <- lmer('infelicity ~ agent_state + (agent_state + ascription|item) + (agent_state|subject)', data=df, REML=FALSE)
# ascrpt <- anova(mb5, mb6)
# saveRDS(ascrpt, "../Analysis/Models/Exp2/ascrpt_fel.rda")
ascrpt <- readRDS("../Analysis/Models/Exp2/ascrpt_fel.rda")

# Infelicity x agent state
# mb7 <-lmer('infelicity ~  ascription + (agent_state + ascription|item) + (agent_state|subject)', data=df, REML=FALSE)
# agnt <- anova(mb5, mb7)
# saveRDS(agnt,"../Analysis/Models/Exp2/agnt_fel.rda")
agnt <- readRDS("../Analysis/Models/Exp2/agnt_fel.rda")

# Infelicity x RT
infelxrt_asd <- cor.test(df[df$group=="autism",]$infelicity, df[df$group=="autism",]$rt, method=c("pearson", "kendall","spearman"))
infelxrt_nt <- cor.test(df[df$group=="neurotypical",]$infelicity, df[df$group=="neurotypical",]$rt, method=c("pearson", "kendall", "spearman"))

```

```{r rt_infelicity, echo=FALSE,message=FALSE,warning=FALSE}

## main effect of ascription, controlling for infelicity, and allowing for all other two-way interactions and main effects

### Neurotypical participants: 
# lm2f.0n = lmer(rt ~ agent_state + ascription + infelicity + (agent_state + ascription|item) + (agent_state|subject), data=NT, REML=FALSE)
# lm2f.1n = lmer(rt ~ agent_state + infelicity + (agent_state + ascription|item) + (agent_state|subject), data=NT, REML=FALSE)
# ascript2fn <- anova(lm2f.0n,lm2f.1n) # p = 0.0001056 ***
# saveRDS(ascript2fn, '../Analysis/Models/Exp2/ascript2fn.rda')

ascript2fn <- readRDS("../Analysis/Models/Exp2/ascript2fn.rda")

### Autistic participants:
# lm2f.0a = lmer(rt ~ agent_state + ascription + infelicity + (agent_state + ascription|item) + (agent_state|subject), data=ASD, REML=FALSE)
# lm2f.1a = lmer(rt ~ agent_state + infelicity + (agent_state + ascription|item) + (agent_state|subject), data=ASD, REML=FALSE)
# ascript2fa <- anova(lm2f.0a,lm2f.1a) # p =  0.0001734
# saveRDS(ascript2fa, '../Analysis/Models/Exp2/ascript2fa.rda')

ascript2fa <- readRDS("../Analysis/Models/Exp2/ascript2fa.rda")


## For completeness, here are some additional analyses further exploring the key patterns controlling for the infelicity ratings,

# RT Models
# 3-way interaction
# mb0 = lmer('rt ~ group*agent_state*ascription + infelicity + (agent_state + ascription|item) + (agent_state|subject)', data=df, REML=FALSE)
# mb1 = lmer('rt ~ group:agent_state + group:ascription + agent_state:ascription + infelicity + (agent_state + ascription|item) + (agent_state|subject)', data=df, REML=FALSE)
# grpxagntxascrpt_rt <- anova(mb0, mb1)
# saveRDS(grpxagntxascrpt_rt, '../Analysis/Models/Exp2/grpxagntxascrpt_rt.rda')

threeway_rt <- readRDS("../Analysis/Models/Exp2/grpxagntxascrpt_rt.rda")

## Agent x Ascription
## Neurotypicals
# mn0 <- lmer('rt ~ ascription*agent_state + infelicity + (agent_state + ascription|item) + (agent_state|subject) ', data=NT, REML=FALSE)
# mn1 <- lmer('rt ~ ascription + agent_state + infelicity + (agent_state + ascription|item) + (agent_state|subject) ', data=NT, REML=FALSE)
# ascrptxagnt_nt_rt <- anova(mn0, mn1)
# saveRDS(ascrptxagnt_nt_rt, "../Analysis/Models/Exp2/ascrptxagnt_nt_rt.rda")
ascrptxagnt_nt_rt <- readRDS("../Analysis/Models/Exp2/ascrptxagnt_nt_rt.rda")

# mn0_post <- emmeans(mn0, specs=pairwise ~ ascription:agent_state, pbkrtest.limit = 4049)
# saveRDS(mn0_post$contrast, "../Analysis/Models/Exp2/agntxascrpt_nt_rt_post.rda")
agntxascrpt_nt_rt_post <-as.data.frame(readRDS("../Analysis/Models/Exp2/agntxascrpt_nt_rt_post.rda"))

## ASD
# ma0 <- lmer('rt ~ ascription*agent_state + infelicity + (agent_state + ascription|item) + (agent_state|subject) ', data=ASD, REML=FALSE)
# ma1 <- lmer('rt ~ ascription + agent_state + infelicity + (agent_state + ascription|item) + (agent_state|subject) ', data=ASD, REML=FALSE)
# ascrptxagnt_asd_rt <- anova(ma0, ma1)
# saveRDS(ascrptxagnt_asd_rt, "../Analysis/Models/Exp2/ascrptxagnt_asd_rt.rda")
agntxascrpt_asd_rt <- readRDS("../Analysis/Models/Exp2/ascrptxagnt_asd_rt.rda")


#=========================================
## Group x Agent State
# mb2 = lmer('rt ~ group:ascription + agent_state:ascription + infelicity + (agent_state + ascription|item) + (agent_state|subject)', data=df, REML=FALSE)
# grpxagnt_rt <- anova(mb1, mb2)
# saveRDS(grpxagnt_rt, "../Analysis/Models/Exp2/grpxagnt_rt.rda")
grpxagnt_rt <-readRDS("../Analysis/Models/Exp2/grpxagnt_rt.rda")

# Post-hoc tests for the interaction of group and agent 
# mb1_post_3 <- emmeans(mb1, specs=pairwise ~ group:agent_state, pbkrtest.limit = 6120)
# grpxagnt_rt_post <- mb1_post_3$contrast
# saveRDS(grpxagnt_rt_post, "../Analysis/Models/Exp2/grpxagnt_rt_post.rda")
grpxagnt_rt_post <- as.data.frame(readRDS("../Analysis/Models/Exp2/grpxagnt_rt_post.rda"))

# Group x Ascription
# mb3 <- lmer('rt ~ group:agent_state + agent_state:ascription + infelicity + (agent_state + ascription|item) + (agent_state|subject)', data=df, REML=FALSE)
# grpxascrpt_rt <- anova(mb1, mb3)
# saveRDS(grpxascrpt_rt, "../Analysis/Models/Exp2/grpxascrpt_rt.rda")
grpxascrpt_rt <-readRDS("../Analysis/Models/Exp2/grpxascrpt_rt.rda")

# Post-hoc tests for the interaction of group and ascription 
# grpxascript_pw <- emmeans(mb1, specs=pairwise ~ group:ascription, pbkrtest.limit = 6120)
# grpxascrpt_rt_post <- grpxascript_pw$contrast
# saveRDS(grpxascrpt_rt_post, "../Analysis/Models/Exp2/grpxascrpt_rt_post.rda")
grpxascrpt_rt_post <- as.data.frame(readRDS("../Analysis/Models/Exp2/grpxascrpt_rt_post.rda"))

```

```{r figure 3 panels, fig.width=7, fig.height=5, echo=FALSE, warning=FALSE, message=FALSE, eval=FALSE}

df <- df %>%
  mutate(agent_state = case_when(
    agent_state == 'True Info' ~ 'True Information',
    agent_state == 'Ignorance' ~ 'No Information',
    agent_state == 'False Info' ~ 'False Information',
    TRUE ~ agent_state # for values not matched, keep original values
  ))

df$agent_state <- factor(df$agent_state, levels=c("True Information","No Information","False Information"))
df$infelicity <- as.numeric(df$infelicity)
##ASD <- df[df$group == "autism",]

d2.sum1 <- df[df$group == "autism",] %>% group_by(ascription, agent_state, subject) %>% summarise(Submean = mean(infelicity, na.rm=TRUE))
d2.sum1 <- d2.sum1 %>% group_by(ascription, agent_state) %>% summarise(
  N = length(Submean),
  infelicity = mean(Submean, na.rm=TRUE),
  mean = mean(Submean, na.rm=TRUE),
  sd   = sd(Submean,na.rm=TRUE),
  se   = sd / sqrt(N)
)

d2.sumV <- df[df$group == "autism",] %>% group_by(ascription, agent_state, item) %>% summarise(infelicity = mean(infelicity, na.rm=TRUE))

## fig 3A: Neurotypical group infelciity
d2.sum2 <- df[df$group == "neurotypical",] %>% group_by(ascription, agent_state, subject) %>% summarise(Submean = mean(infelicity, na.rm=TRUE))
d2.sum2 <- d2.sum2 %>% group_by(ascription, agent_state) %>% summarise(
  N = length(Submean),
  infelicity = mean(Submean, na.rm=TRUE),
  mean = mean(Submean, na.rm=TRUE),
  sd   = sd(Submean,na.rm=TRUE),
  se   = sd / sqrt(N)
)

d2.sumV2 <- df[df$group == "neurotypical",] %>% group_by(ascription, agent_state, item) %>% summarise(infelicity = mean(infelicity, na.rm=TRUE))

d2.plot3A <- df[df$group == "neurotypical",] %>% ggplot(aes(x=ascription, y=infelicity, fill=ascription, color=ascription)) +
  geom_violin(data=d2.sumV2, alpha=.1, color= "black", linewidth=.1, adjust=1.4) +
  scale_fill_manual(values=c("#bdd7e7", "#2171b5")) + ###bdd7e7 #6baed6
  geom_point(aes(group=ascription),stat="identity",
             position=position_jitterdodge(jitter.width=.4,jitter.height=.35,dodge.width=.9),
             alpha=.1, color="black", size=.1) +
  geom_point(data=d2.sum2,aes(x=ascription, y=infelicity, color=ascription), 
             position=position_dodge(.9), color="black", size=2) +
  geom_line(data=d2.sum2, aes(x=ascription, y=infelicity, group=agent_state),
            color="black",alpha=.8) +
  geom_errorbar(data=d2.sum2,aes(ymin=infelicity-se, ymax=infelicity+se), 
                width=.25, position=position_dodge(.9),color="Black") +
  facet_wrap(~agent_state,shrink=T) +
  ylab("Infelicity") +
  xlab("") +
  theme_bw() +
 theme(
    plot.background = element_blank()
    ,panel.grid.major = element_blank()
    ,panel.grid.minor = element_blank()
    ,legend.title=element_blank()
    ,legend.text=element_text(size=rel(1))
    ,legend.justification=c(1,1)
    ,legend.position="none"
    ,legend.key.width = unit(0.8, "cm")
    ,legend.key.height = unit(0.4, "cm")
    ,axis.text.y=element_text(size=rel(1))
    ,axis.title.y=element_text(size=rel(1),vjust=.9)
    ,axis.title.x=element_blank()
    ,axis.text.x=element_text(size=rel(1.5))
    ,axis.ticks = element_blank()
    ,strip.text=element_text(size=rel(1.25))
    ,plot.title=element_text(hjust=0.5, size=12)
  )   +
  scale_y_continuous(breaks = c(1:7)) +
  labs(tag = "A") +
  ggtitle("Neurotypical Group, N=389")


## fig 3B: Autism group infelciity
d2.plot3B <- df[df$group == "autism",] %>% ggplot(aes(x=ascription, y=infelicity, fill=ascription, color=ascription)) +
  geom_violin(data=d2.sumV, alpha=.1, color= "black", linewidth=.1, adjust=1.4) +
  scale_fill_manual(values=c("#bdd7e7", "#2171b5")) + ###bdd7e7 #6baed6
  geom_point(aes(group=ascription),stat="identity",
             position=position_jitterdodge(jitter.width=.4,jitter.height=.35,dodge.width=.9),
             alpha=.1, color="black", size=.1) +
  geom_point(data=d2.sum1,aes(x=ascription, y=infelicity, color=ascription), 
             position=position_dodge(.9), color="black", size=2) +
  geom_errorbar(data=d2.sum1,aes(ymin=infelicity-se, ymax=infelicity+se), 
                width=.25, position=position_dodge(.9),color="Black") +
  geom_line(data=d2.sum1, aes(x=ascription, y=infelicity, group=agent_state),
            color="black",alpha=.8) +
  facet_wrap(~agent_state,shrink=T) +
  ylab("Infelicity") +
  xlab("") +
  theme_bw() +
 theme(
    plot.background = element_blank()
    ,panel.grid.major = element_blank()
    ,panel.grid.minor = element_blank()
    ,legend.title=element_blank()
    ,legend.text=element_text(size=rel(1))
    ,legend.justification=c(1,1)
    ,legend.position="none"
    ,legend.key.width = unit(0.8, "cm")
    ,legend.key.height = unit(0.4, "cm")
    ,axis.text.y=element_text(size=rel(1))
    ,axis.title.y=element_text(size=rel(1),vjust=.9)
    ,axis.title.x=element_blank()
    ,axis.text.x=element_text(size=rel(1.5))
    ,axis.ticks = element_blank()
    ,strip.text=element_text(size=rel(1.25))
    ,plot.title=element_text(hjust=0.5, size=12)

  )   +
  scale_y_continuous(breaks = c(1:7)) +
  labs(tag = "B") +
  ggtitle("Autism Group, N=222")


#figure 3C

d2.plot3C <- df[df$group == "neurotypical",] %>% ggplot(aes(x=infelicity, y=rt)) +
  geom_jitter(width=.4, alpha=.1, color="#1d649f")+
  geom_smooth(method=lm, alpha=.8, color="black")+
  ylab("Response time (ms)") +
  xlab("Infelicity judgment") +
  theme_bw() +
  theme(plot.background = element_blank()
        ,panel.grid.major = element_blank()
        ,panel.grid.minor = element_blank()
        ,axis.text.y=element_text(size=rel(1))
        ,axis.title.y=element_text(size=rel(1),vjust=.9)
        ,axis.title.x=element_text(size=rel(1),vjust=.9)
        ,axis.text.x=element_text(size=rel(1))
        ,axis.ticks = element_blank()
        ,plot.title=element_text(hjust=0.5, size=12)) +
  scale_x_continuous(breaks=c(1:7)) +
  scale_y_continuous(limits=c(1000,4500), breaks=seq(1000,4500,500))+
  labs(tag = "C")

#figure 3D
d2.plot3D <- df[df$group == "autism",] %>% ggplot(aes(x=infelicity, y=rt)) +
  geom_jitter(width=.4, alpha=.1, color="#1d649f")+
  geom_smooth(method=lm, alpha=.8, color="black")+
  ylab("Response time (ms)") +
  xlab("Infelicity judgment") +
  theme_bw() +
  theme(plot.background = element_blank()
        ,panel.grid.major = element_blank()
        ,panel.grid.minor = element_blank()
        ,axis.text.y=element_text(size=rel(1))
        ,axis.title.y=element_text(size=rel(1),vjust=.9)
        ,axis.title.x=element_text(size=rel(1),vjust=.9)
        ,axis.text.x=element_text(size=rel(1))
        ,axis.ticks = element_blank()
        ,plot.title=element_text(hjust=0.5, size=12)
        ,legend.title=element_blank()) +
  scale_x_continuous(breaks=c(1:7)) +
  scale_y_continuous(limits=c(1000,4500), breaks=seq(1000,4500,500))+
  labs(tag = "D")
```

```{r figure 3 combined, fig.width=14, fig.height=5, echo=FALSE, message=FALSE, warning=FALSE, eval=FALSE}

gl3 <- list(d2.plot3A,d2.plot3B,d2.plot3C,d2.plot3D)

figure3 <- grid.arrange(
  grobs = gl3,
  widths = c(1/2, 1/2),
  heights =c(3/5,2/5),
  layout_matrix = rbind(c(1, 2),
                        c(3, 4))
)

ggsave(figure3, file="../Analysis/Figures/fig3_exp2.jpg",dpi=300, height = 11, width = 11, units = "in")

```


We next turned to analyzing participants' infelicity judgments to ask whether the perceived infelicity of the knowledge and belief ascriptions may be able explain the response-time patterns we observed. We first analyzed the overall patterns of infelicity judgments similar to the way in which we analyzed the response-time data. We found no significant three-way interaction between Participant Group, Information Condition, and Ascription Type, $\chi^2(2)$ = `r round(grpxagntxascrpt$Chisq[2],digits=3)`, *p* = `r round(grpxagntxascrpt$'Pr(>Chisq)'[2],digits=3)`, and no Participant Group by Ascription Type interaction effect on infelicity judgments, $\chi^2(1)$ = `r round(grpxascrpt$Chisq[2],digits=3)`, *p* = `r round(grpxascrpt$'Pr(>Chisq)'[2],digits=3)`. 

However, we did observe a significant Participant Group by Information Condition interaction $\chi^2(2)$ = `r round(grpxagnt_fel$Chisq[2],digits=2)`, *p* < `r format(max(round(grpxagnt_fel$'Pr(>Chisq)'[2],digits=3), .0001), scientific=F)`. As can be seen by comparing Figure 3A and 3B, this interaction effect arose largely because participants in the autism group judged false mental state ascriptions of both knowledge and beliefs as relatively infelicitous, while participants in the neurotypical group did not. This pattern was significant for both the No Information condition (*t*(`r round(as.numeric(mb1_cntrst_df[mb1_cntrst_df$contrast == "autism Ignorance - neurotypical Ignorance",]$df), digits=2)`) =  `r round(as.numeric(mb1_cntrst_df[mb1_cntrst_df$contrast == "autism Ignorance - neurotypical Ignorance",]$t.ratio), digits=2)`, *p* < `r format(max(round(as.numeric(mb1_cntrst_df[mb1_cntrst_df$contrast == "autism Ignorance - neurotypical Ignorance",]$p.value), digits=2), .0001), scientific=F)`), and the False Information condition (*t*(`r round(as.numeric(mb1_cntrst_df[mb1_cntrst_df$contrast == "autism False Info - neurotypical False Info",]$df), digits=2)`) =  `r round(as.numeric(mb1_cntrst_df[mb1_cntrst_df$contrast == "autism False Info - neurotypical False Info",]$t.ratio), digits=2)`, *p* < `r format(max(round(as.numeric(mb1_cntrst_df[mb1_cntrst_df$contrast == "autism False Info - neurotypical False Info",]$p.value), digits=2), .0001), scientific=F)`). By contrast, there was no significant difference between these groups when the agent was described as having True Information (*t*(`r round(as.numeric(mb1_cntrst_df[mb1_cntrst_df$contrast == "autism True Info - neurotypical True Info",]$df), digits=2)`) =  `r round(as.numeric(mb1_cntrst_df[mb1_cntrst_df$contrast == "autism True Info - neurotypical True Info",]$t.ratio), digits=2)`, *p* = `r round(as.numeric(mb1_cntrst_df[mb1_cntrst_df$contrast == "autism True Info - neurotypical True Info",]$p.value), digits=2)`). In short, while we did find quite substantial differences between the infelicity judgments of neurotypical and autistic participants, these differences tracked the truth value of the mental state ascription but not the kind of mental state attributed (knowledge vs. belief).

Across both neurotypical and autistic groups, we also observed observed a significant Information Condition $\times$ Ascription Type interaction, $\chi^2(2)$ = `r round(agntxascrpt$Chisq[2],digits=3)`, *p* < `r format(max(round(agntxascrpt$'Pr(>Chisq)'[2],digits=3), .0001), scientific=F)`, which was roughly in line with the predictions of pragmatic theories [@heim1991artikel; @hirschberg1985theory]. As can be seen in Figure 3A-B, when agents have True Information, participants in both groups found it more natural to describe the agent as knowing that information (*M*~infelicity~=`r round(mean(df[df$ascription == "Knows" & df$agent_state =="True Info",]$infelicity), digits = 2)`, *SD*~infelicity~=`r round(sd(df[df$ascription == "Knows" & df$agent_state =="True Info",]$infelicity),digits = 2)`), than as thinking that information (*M*~infelicity~=`r round(mean(df[df$ascription == "Thinks" & df$agent_state =="True Info",]$infelicity), digits = 2)`, *SD*~infelicity~=`r round(sd(df[df$ascription == "Thinks" & df$agent_state =="True Info",]$infelicity),digits = 2)`), *t*(`r round(as.numeric(agntxascrpt_post[agntxascrpt_post$contrast == "True Info Knows - True Info Thinks",]$df), digits=2)`) =  `r round(as.numeric(agntxascrpt_post[agntxascrpt_post$contrast == "True Info Knows - True Info Thinks",]$t.ratio), digits=2)`, *p* < `r format(max(round(as.numeric(agntxascrpt_post[agntxascrpt_post$contrast == "True Info Knows - True Info Thinks",]$p.value), digits=2), .0001), scientific=F)`. Critically however, across groups, this difference disappears when agents are described as having false information, *t*(`r round(as.numeric(agntxascrpt_post[agntxascrpt_post$contrast == "False Info Knows - False Info Thinks",]$df), digits=2)`) =  `r round(as.numeric(agntxascrpt_post[agntxascrpt_post$contrast == "False Info Knows - False Info Thinks",]$t.ratio), digits=2)`, *p* = `r round(as.numeric(agntxascrpt_post[agntxascrpt_post$contrast == "False Info Knows - False Info Thinks",]$p.value), digits=3)`, or no information, *t*(`r round(as.numeric(agntxascrpt_post[agntxascrpt_post$contrast == "Ignorance Knows - Ignorance Thinks",]$df), digits=2)`) =  `r round(as.numeric(agntxascrpt_post[agntxascrpt_post$contrast == "Ignorance Knows - Ignorance Thinks",]$t.ratio), digits=2)`, *p* = `r round(as.numeric(agntxascrpt_post[agntxascrpt_post$contrast == "Ignorance Knows - Ignorance Thinks",]$p.value), digits=3)`.  The fact that the autism group also shows this particular pattern suggests that the relevant pragmatic implicature is likely highly conventionalized [@svindt2021comprehension].

In sum, we observed two key patterns in participants' felicity judgments. The first is that we found group differences in felicity judgments whereby, whenever a knowledge or belief ascription was false, autistic participants found the ascriptions to sound worse than neurotypical participants. The second is that for the True Information condition, belief ascriptions sounded worse than knowledge ascriptions, while for the No and False Information conditions, this pattern disappeared. At a high level, these qualitative patterns make it straightforwardly unlikely that the previously observed response time differences (whereby knowledge is consistently faster than belief) could be explained by differences in the perceived infelicity of the ascriptions (compare the patterns in Figures 2A-B to those in Figures 3A-B).

Finally, to quantitatively verify these qualitative observations, we performed two additional analyses. First, we simply looked at the linear relationship between felicity judgments and response times for both the neurotypical group (Figure 3C), and the autistic group (Figure 3D). In the neurotypical group, we found a significant, albeit weak, relationship (*r* = `r round(infelxrt_nt$estimate, digits=2)`, *p* = `r format(round(infelxrt_nt$p.value, digits=4), scientific=F)`). However, we found no significant relationship in the autistic group, *r* = `r round(infelxrt_asd$estimate, digits=2)`, *p* = `r round(infelxrt_asd$p.value, digits=3)`. Second, we asked whether, controlling for the felicity of each sentence as rated by each participant, we continued to observe the overall pattern whereby correct assessments of knowledge ascriptions were faster than correct assessments of belief ascriptions. We found that it was for both the neurotypical group, $\chi^2(2)$ = `r round(ascript2fn$Chisq[2],digits=3)`, *p* $<$ `r max(round(ascript2fn$'Pr(>Chisq)'[2],digits=3),.001)`, and for the autism group, $\chi^2(2)$ = `r round(ascript2fa$Chisq[2],digits=3)`, *p* $<$ `r max(round(ascript2fa$'Pr(>Chisq)'[2],digits=3),.001)`.

![Figure3](../Analysis/Figures/fig3_exp2.jpg "Figure 3") *Figure 3.* **A-B**: Mean infelicity ratings from neurotypical (**A**) and autsitic group (**B.**) for knowledge ascriptions (left points and violins) and belief ascriptions (right points and violins) as a function of Information Condition (separate panels). Small points indicate trial-level responses, violins illustrate scenario- or item-level distributions, large dark points depict overall means, and error bars depict +/- 1 SEM. **C-D**: Response times of neurotypical (**C**) and autism (**D**) groups for correct evaluations of mental state ascriptions (knowledge & belief) as a function of participants’ infelicity judgments.


## Discussion

In this study, we replicated Experiment 1 with a group of neurotypical participants and a group of autistic participants, and additionally asked all participants to evaluate the felicity of the mental state ascriptions. The analysis of the response-time data revealed that we not only replicated the finding that neurotypical participants were able to correctly evaluate knowledge ascriptions faster than they were able to correctly evaluate belief ascriptions, but that this pattern extended to participants with autism. We additionally asked whether this response-time pattern could be explained by differences in the perceived felicity of knowledge and belief ascriptions, but found this explanation lacking on both a quantitative and qualitative level. Taken together, these results suggest that the response time patterns found in Experiments 1 and 2 do not arise from pragmatic differences in knowledge vs. belief ascriptions, and robustly generalize across samples from neurotypical populations and populations with autism.

# Experiment 3

We next asked whether the observed response time difference between ‘know’ and ‘think’ generalized to languages other than English. To do this, a highly similar experiment was conducted in French using the mental state verbs ‘savoir’ and ‘penser’ instead of ‘know’ and ‘think’ (respectively). In addition to providing a general test of whether the observed effect could have arisen from idiosyncratic features of the English used in the prior experiment, French provides a particularly strong test because, unlike English, the French term used for belief ascriptions ‘penser que’ is $\approx1.49$ times more frequent than French term used for knowledge ascriptions ‘savoir que.’[^5] Thus, if the difference in response times merely reflected lexical frequency, we should expect evaluations of beliefs to be faster than evaluations of knowledge in French, which is the opposite of the prediction of our more general theory of mind based account.

[^5]: Lexical frequency was computed using Google NGram using data from 2007-2008, which was the most recent year available at the time of calculation. For both French and English, we summed the frequency of the following forms of ‘Savior’ and ‘Penser’ or ‘Know’ and ‘Think’: infinitival, first person singular, second person singular, third person masculine, third person feminine, first person plural, second-person plural (French only), third-person plural (English), and masuline and feminine third person plural (French). We then divided the summed frequency of ‘know’ or ‘savoir’ by the summed frequency of ‘think’ or ‘penser’ respectively.

## Participants

```{r Experiment3 participants, echo=FALSE}

d3demo <- read.csv("../Studies/Exp3/Data/study3.csv")

d3demo <- d3demo[!duplicated(d3demo$code),37:41]

colnames(d3demo) <- c("age","gender","education","handedness","NA")

d3demo$gender <- substr(d3demo$gender,1,1)
d3demo$gender <- factor(d3demo$gender)
d3demo$gender <- factor(c("F","F","M","M","M","M")[d3demo$gender])

d3.gender <- table(d3demo$gender)

```

`r length(d3demo$age)` participants (*M*~age~=`r round(mean(d3demo$age, na.rm=T),digits=2)`, *SD*~age~=`r round(sd(d3demo$age, na.rm=T),digits=2)`; `r d3.gender[[1]]` females) were recruited and paid \texteuro 0.75 through Foule Factory (<https://www.foulefactory.com/>).

## Stimuli and procedure

The methods and procedures in this experiment were similar to that of Experiment 1a-b, except that the study was translated into French, and the English names were replaced with more standard French names. Thus, for example, rather than the **Know** and **Think** example sentences in Experiment 1, participants evaluated **Savoir** and **Penser** as below.

> **Savoir**: Nora sait qu'elle regarde Neptune.

> **Penser**: Nora pense qu'elle regarde Neptune.

## Results

```{r Experiment3 analysis, echo=FALSE, warning=FALSE, message=FALSE}

d3 <- read.csv("../Studies/Exp3/Data/study3.csv")

d3 <- d3[d3$condition1!="Distractor",c(2:4,27:29,50)]

d3$question <- factor(d3$condition1)
d3$question <- factor(c("Savoir","Penser")[d3$question])
d3$question <- factor(d3$question,levels = c("Savoir","Penser"))

d3$condition <- factor(d3$condition2)
d3$condition <- factor(c("Different Belief","Ignorance","True Belief")[d3$condition])
d3$condition <- factor(d3$condition,levels=c("True Belief","Ignorance","Different Belief"))

d3$scenario <- factor(d3$condition3,levels=c(1:12))
d3$scenario <- factor(c("New Yorker","Birthday","Blouse","Dessert","German Meal","Apples", "Seeing-eye Dog",
                         "Coin Flip","Hide and Seek","Sky-gazing","Mona Lisa","Arborist")[d3$scenario])

d3$response <- factor(d3$responses)
d3$response <- factor(c("NA","false","true")[d3$response])


d3$subj <- factor(d3$code)

d3$correct <- FALSE
d3$correct[d3$condition=="True Belief" & d3$response=="true"] <- TRUE
d3$correct[d3$condition=="Different Belief" & d3$response=="false"] <- TRUE 
d3$correct[d3$condition=="Ignorance" & d3$response=="false"] <- TRUE 


d3.rts <- d3 %>% group_by(subj) %>% summarise(
                mean = mean(RTs, na.rm=TRUE))
#hist(d3.rts$mean,breaks=50,col="Red")

d3.correct <- d3 %>% group_by(subj) %>% summarise(
                    mean = mean(correct, na.rm=TRUE))
#hist(d3.correct$mean,breaks=50,col="Red")

exclude3.1 <- d3.rts$subj[d3.rts$mean<1000|d3.rts$mean>4000]
exclude3.2 <- d3.correct$subj[d3.correct$mean<acc.thresh]

d3 <- d3[!(d3$subj %in% exclude3.1) & !(d3$subj %in% exclude3.2),]
d3 <- d3[d3$RTs>rt.min & d3$RTs<rt.max,]
d3 <- d3 %>% filter(correct)

## full model
#lm3.0 <- lmer(RTs ~ condition * question + (1|scenario) + (condition * question|subj), data=d3,
#               control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# 
# ## here's the test for the interaction effect:
# 
# lm3.1 <- lmer(RTs ~ condition + question + (1|scenario) + (condition * question|subj), data=d3,
#               control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# lm3.inter <- anova(lm3.0,lm3.1)
# saveRDS(lm3.inter,"../models_new/lm3_inter.rda")
# 
# ## here's the test for the effect of knowledge vs belief
# 
# lm3.2 <- lmer(RTs ~ condition + (1|scenario) + (condition * question|subj), data=d3,
#               control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# lm3.quest <- anova(lm3.1,lm3.2)
# saveRDS(lm3.quest,"../models_new/lm3_quest.rda")
# 
# ## here's the test for the effect of condition
# 
# lm3.3 <- lmer(RTs ~ question + (1|scenario) + (condition * question|subj), data=d3,
#                 control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# lm3.cond <- anova(lm3.1,lm3.3)
# saveRDS(lm3.cond, "../models_new/lm3_cond.rda")

## Post-hoc comparisons for the significant interaction
#lm3.0_post <- emmeans(lm3.0, specs=pairwise ~ condition:question, pbkrtest.limit = 957)

#lm3.post <- lm3.0_post$contrast
#saveRDS(lm3.post, "../Analysis/Models/Exp3/lm3.pw.contrasts.rda")
lm3.pst <- as.data.frame(readRDS("../Analysis/Models/Exp3/lm3.pw.contrasts.rda"))



## reading in saved models from above to save time when compiling

lm3.inter <- readRDS("../Analysis/Models/Exp3/lm3_inter.rda") # question*condition interaction effect
lm3.quest <- readRDS("../Analysis/Models/Exp3/lm3_quest.rda") # main effect of question
lm3.cond <- readRDS("../Analysis/Models/Exp3/lm3_cond.rda")   # main effect of condition


d3q.sums <- d3 %>% group_by(question) %>% 
                  summarise(mean =mean(RTs, na.rm=TRUE),
                            sd = sd(RTs, na.rm = TRUE))

```


As in Experiment 1 and 2, data were excluded at the participant- and trial-level, and then analyzed using linear mixed-effects models.  We found no main effect of Information Condition, $\chi^2(2)$ = `r round(lm3.cond$Chisq[2],digits=3)`, *p* = `r round(lm3.cond$'Pr(>Chisq)'[2],digits=3)`. However, there was again a highly significant main effect of Ascription Type, $\chi^2(1)$ = `r round(lm3.quest$Chisq[2],digits=3)`, *p* \< `r max(.001,round(lm3.quest$'Pr(>Chisq)'[2],digits=3))`, such that participants were faster to correctly assess the truth of statements about what the agent knows ($M =$ `r round(d3q.sums$mean[d3q.sums$question=="Savoir"], digits=2)`ms, $SD =$ `r round(d3q.sums$sd[d3q.sums$question=="Savoir"], digits=2)`) than statements about what the agent thinks ($M =$ `r round(d3q.sums$mean[d3q.sums$question=="Penser"], digits=2)`ms, $SD =$ `r round(d3q.sums$sd[d3q.sums$question=="Penser"], digits=2)`). Once again, there was also a significant Information Condition × Ascription Type interaction, $\chi^2(2)$ = `r round(lm3.inter$Chisq[2],digits=3)`, *p* = `r round(lm3.inter$'Pr(>Chisq)'[2],digits=3)` (see Figure 5).

```{r Experiment3 plot, fig.width=7, fig.height=5, echo=FALSE, message=FALSE, eval=FALSE}
d3 <- d3 %>%
  mutate(condition_new = case_when(
    condition == 'True Belief' ~ 'True Information',
    condition == 'Ignorance' ~ 'No Information',
    condition == 'Different Belief' ~ 'False Information',
    TRUE ~ condition # for values not matched in conditions, keep original values
  ))


d3.sum1 <- d3 %>% filter(correct) %>% group_by(question,condition_new,subj) %>% summarise(
                 submean = mean(RTs, na.rm=TRUE))

d3.sum <- d3.sum1 %>% group_by(question,condition_new) %>% summarise(
                 N    = length(submean),
                 RTs = mean(submean, na.rm=TRUE),
                 mean = mean(submean, na.rm=TRUE),
                 sd   = sd(submean,na.rm=TRUE),
                 se   = sd / sqrt(N)
)

d3.sumV <- d3 %>% filter(correct) %>% group_by(question,condition_new,condition3) %>% summarise(
                 RTs = mean(RTs, na.rm=TRUE))

d3$condition_new <- factor(d3$condition_new, levels=c("True Information","No Information","False Information"))
 
d3.sum$condition_new <- factor(d3.sum$condition_new, levels=c("True Information","No Information","False Information"))

d3.sumV$condition_new <- factor(d3.sumV$condition_new, levels=c("True Information","No Information","False Information"))

# plot
d3.plot <- d3 %>% ggplot(aes(x=question, y=RTs, fill=question, color=question)) +
  scale_fill_manual(values=c("#bdd7e7", "#2171b5")) + ###bdd7e7 #6baed6
  geom_point(aes(group=question), stat="identity",
             position=position_jitterdodge(jitter.width=.5,dodge.width=.9),
             alpha=.1, color="black",size=.1) +  
  geom_violin(data=d3.sumV, alpha=.1, color= "black", linewidth=.1) +  
  geom_point(data=d3.sum,aes(x=question, y=RTs, color=question),
             position=position_dodge(.9), 
             color="black") +
  geom_errorbar(data=d3.sum,aes(ymin=RTs-se, ymax=RTs+se), width=.2,
                position=position_dodge(.9),
                color="black") +
  geom_line(data=d3.sum, aes(x=question, y=RTs, group=condition_new),
            color="black",alpha=.8) +
  facet_wrap(~condition_new,shrink=T) +
  ylab("Response time (ms)") +
  xlab("") +
  theme_bw() +
  theme(
    plot.background = element_blank()
    ,panel.grid.major = element_blank()
    ,panel.grid.minor = element_blank()
    ,legend.title=element_blank()
    ,legend.text=element_text(size=rel(1))
    ,legend.justification=c(1,1)
    ,legend.position="none"
    ,legend.key.width = unit(0.8, "cm")
    ,legend.key.height = unit(0.4, "cm")
    ,axis.text.y=element_text(size=rel(1))
    ,axis.title.y=element_text(size=rel(1),vjust=.9)
    ,axis.title.x=element_blank()
    ,axis.text.x=element_text(size=rel(1.5))
    ,axis.ticks = element_blank()
    ,strip.text=element_text(size=rel(1.25))
  ) +
  scale_y_continuous(limits = c(1900, 3200))


print(d3.plot)
 
ggsave(d3.plot, file="../Analysis/Figures/fig5_exp3.jpg",dpi=300, height = 5, width = 7, units = "in")
```


```{r Experiment3c ttests, echo=FALSE, warning=FALSE, message=FALSE }

d3.sum3 <- d3 %>% group_by(question,condition,subj) %>% summarise(
                 Submean = mean(RTs, na.rm=TRUE))

## True belief
d3.SavoirTB <- d3.sum3$subj[d3.sum3$question=="Savoir" & d3.sum3$condition=="True Belief"]
d3.PenserTB <- d3.sum3$subj[d3.sum3$question=="Penser" & d3.sum3$condition=="True Belief"]
d3.TB <- d3.SavoirTB[d3.SavoirTB %in% d3.PenserTB]

d3.TB <- d3.sum3[d3.sum3$subj %in% d3.TB & d3.sum3$condition=="True Belief",]

#var.test(d3.TB$Submean[d3.TB$question=="Penser"], d3.TB$Submean[d3.TB$question=="Savoir"])# p < .001
d3.TB_t <- t.test(d3.TB$Submean[d3.TB$question=="Penser"], d3.TB$Submean[d3.TB$question=="Savoir"], paired=T)
d3.TB_c <- cohensD(d3.TB$Submean[d3.TB$question=="Penser"], d3.TB$Submean[d3.TB$question=="Savoir"])

## No belief
d3.SavoirNB <- d3.sum3$subj[d3.sum3$question=="Savoir" & d3.sum3$condition=="Ignorance"]
d3.PenserNB <- d3.sum3$subj[d3.sum3$question=="Penser" & d3.sum3$condition=="Ignorance"]
d3.NB <- d3.SavoirNB[d3.SavoirNB %in% d3.PenserNB]

d3.NB <- d3.sum3[d3.sum3$subj %in% d3.NB & d3.sum3$condition=="Ignorance",]

#var.test(d3.NB$Submean[d3.NB$question=="Penser"], d3.NB$Submean[d3.NB$question=="Savoir"])
d3.NB_t <- t.test(d3.NB$Submean[d3.NB$question=="Penser"], d3.NB$Submean[d3.NB$question=="Savoir"], var.equal=T, paired=T)
d3.NB_c <- cohensD(d3.NB$Submean[d3.NB$question=="Penser"], d3.NB$Submean[d3.NB$question=="Savoir"])

## Different belief
d3.SavoirDB <- d3.sum3$subj[d3.sum3$question=="Savoir" & d3.sum3$condition=="Different Belief"]
d3.PenserDB <- d3.sum3$subj[d3.sum3$question=="Penser" & d3.sum3$condition=="Different Belief"]
d3.DB <- d3.SavoirDB[d3.SavoirDB %in% d3.PenserDB]

d3.DB <- d3.sum3[d3.sum3$subj %in% d3.DB & d3.sum3$condition=="Different Belief",]

#var.test(d3.DB$Submean[d3.DB$question=="Penser"], d3.DB$Submean[d3.DB$question=="Savoir"])
d3.DB_t <- t.test(d3.DB$Submean[d3.DB$question=="Penser"], d3.DB$Submean[d3.DB$question=="Savoir"], var.equal=T, paired=T)
d3.DB_c <- cohensD(d3.DB$Submean[d3.DB$question=="Penser"], d3.DB$Submean[d3.DB$question=="Savoir"])

```

```{r, echo=FALSE, warning=FALSE, message=FALSE}
#lm3.inter
lm3pst_NB<- lm3.pst[lm3.pst$contrast == 'Ignorance Savoir - Ignorance Penser',]
lm3pst_DB<- lm3.pst[lm3.pst$contrast == 'Different Belief Savoir - Different Belief Penser',]
lm3pst_TB<- lm3.pst[lm3.pst$contrast == 'True Belief Savoir - True Belief Penser',]
```

Planned pairwise comparisons revealed the Information Condition x Ascription Type interaction was driven by a significant difference in participants' response times evaluating knowledge and belief in the No Information condition, $t$(`r lm3pst_NB$df`) = `r round(lm3pst_NB$t.ratio,digits=3)`, $p$ = `r round(lm3pst_NB$p.value,digits=3)`. Smaller, non-significant, differences were found in the False Information, $t$(`r lm3pst_DB$df`) = `r round(lm3pst_DB$t.ratio,digits=3)`, $p$ = `r round(lm3pst_DB$p.value,digits=3)`, and True Information $t$(`r lm3pst_TB$df`) = `r round(lm3pst_TB$t.ratio,digits=3)`, $p$ = `r round(lm3pst_TB$p.value,digits=3)`, conditions.

![Figure5](../Analysis/Figures/fig5_exp3.jpg "Figure 5") *Figure 5.* Response times for correct evaluations of knowledge ('Savoir') ascriptions (left points and violins) and belief ('Penser') ascriptions (right points and violins) as a function of Information Condition (separate panels). Error bars depict Small points indicate trial-level responses, violins illustrate scenario- or item-level distributions, large dark points depict overall means, and error bars depict +/- 1 SEM.


## Discussion

This third experiment provides cross-linguistic evidence that evaluations of knowledge ascriptions occur prior to equivalent belief ascriptions, and thus that evaluations of others’ knowledge are made in the absence of similar evaluations of their beliefs. In addition, it provides clear evidence against an explanation of this pattern in terms of lexical frequency.

An important remaining question is whether the observed difference is specific to knowledge and belief or whether it reflects a more general difference between different categories of mental state verbs of which knowledge and belief are a part. We pursue this possibility in Experiment 4.

# Experiment 4

Knowledge and belief are just two representative examples of the broader classes of factive and non-factive mental state attitudes. Similar to knowledge, you cannot represent someone as seeing or hearing something that is false, because these attitudes are factive. And similar to belief, you *can* represent someone as assuming or guessing things you know are false, because these attitudes are non-factive. Thus, a sentence like “Claudia realized that John was in the building" implies that John actually was in the building, whereas a sentence like "Claudia assumed that John was in the building" does not imply that John actually was in the building. Accordingly, one possibility is that people will be generally faster to evaluate factive attitude ascriptions than non-factive attitude ascriptions. A plausible reason to predict this general difference is that factive mental state representations may be simpler because the content represented is necessarily consistent with one’s own understanding, and thus does not have to be represented separately [@phillips2019factive]. If this prediction proves true, it could point toward a more general explanation of why people are faster to evaluate knowledge ascriptions than belief ascriptions.

To clarify, our prediction is not that every factive attitude will be evaluated faster than every non-factive attitude; after all, there are many factors that will jointly determine evaluation time. Our prediction is instead that–other things being equal–it will take longer to evaluate the truth of a given non-factive attitude than an otherwise similar factive attitude. We next investigate this possibility by considering the speed with which participants evaluate a larger range of factive and non-factive mental state ascriptions.

```{r Experiment4 participants, echo=FALSE}

d4demo <- read.csv("../Studies/Exp4/Data/study4.csv")

d4demo <- d4demo[!duplicated(d4demo$code),31:39]

colnames(d4demo) <- c("age","gender","education","handedness",rep("NA",5))

d4.gender <- table(d4demo$gender)

```

## Participants

`r length(d4demo$age)` participants (*M*~age~=`r round(mean(d4demo$age, na.rm=T),digits=2)`, *SD*~age~=`r round(sd(d4demo$age, na.rm=T),digits=2)`; `r d4.gender[[1]]` females) were recruited and paid through Amazon Mechanical Turk.

## Stimuli and procedure

The methods and procedures in this experiment were similar to the preceding studies except that the term 'know' in the mental state ascription was replaced by one of a set of factive attitude verbs ('realize', 'is aware', 'understand', 'recognize'), and the term 'think' was replaced by a set of non-factive attitude verbs ('believe', 'guess', 'assume', 'imagine'). Thus, for example, instead of evaluating the truth or falsity of **knows** or **thinks** as Experiment 1, participants may have evaluated the truth or falsity of **factive** or **non-factive**, respectively.

> **Factive**: Mira recognizes that she is looking at Neptune.

> **Non-factive**: Mira believes that she is looking at Neptune.

Critically, these factive and non-factive terms were chosen such that the non-factive terms were both shorter in length and more frequent in use than the factive terms (Table 1), so that the predicted difference in response times (factive \< non-factive) could not arise from differences in length or lexical frequency. Because each specific factive and non-factive verb has unique features of their meaning, ascriptions with each mental state verb did not always make sense in the context of the twelve different scenarios. Accordingly, for each scenario, we chose a pair of factive and non-factive terms that each made clear conceptual sense in the context described. Each factive and non-factive term was used in three scenarios.

| Attitude | Factivity   |    Length | Frequency |
|--------------|-------------|--------|-----------|
| 'realize'    | factive     | 7      | .00338    |
| 'recognize'  | factive     | 9      | .00395    |
| 'understand' | factive     | 9      | .01518    |
| 'is aware'   | factive     | 8      | .00610    |
| 'believe'    | non-factive | 7      | .01716    |
| 'guess'      | non-factive | 5      | .00339    |
| 'imagine'    | non-factive | 7      | .00393    |
| 'assume'     | non-factive | 6      | .00414    |

*Table 1.* Length and Frequency for factive and non-factive terms used
in Experiment 4

## Results

```{r Experiment4 analyses, echo=FALSE, warning=FALSE, message=FALSE}

d4 <- read.csv("../Studies/Exp4/Data/study4.csv") ## factive vs. nonfactive attitude predicate

d4 <- d4[d4$condition1!="Distractor" & d4$responses!=99,-c(1,5,7:22,24:26,29,35:48)]

d4$attitude <- factor(d4$condition1)
d4$factivity <- factor(c("Non-factive","Factive","Non-factive","Non-factive","Non-factive","Factive","Factive","Factive")[d4$attitude])
d4$condition2 <- factor(d4$condition2)
d4$condition <- factor(c("Different Belief","Ignorance","True Belief")[d4$condition2])
d4$responses <- factor(d4$responses)
d4$response <- factor(c("false","true")[d4$responses])
d4$scenario <- factor(d4$condition3, levels=c(1:12))
d4$scenario <- d4$scenario <- factor(c("New Yorker","Birthday","Blouse","Dessert","German Meal","Apples", "Seeing-eye Dog",
                         "Coin Flip","Hide and Seek","Sky-gazing","Mona Lisa","Arborist")[d4$scenario])
d4$subj <- factor(as.numeric(d4$turkID))

d4$correct <- FALSE
d4$correct[d4$condition=="True Belief" & d4$response=="true"] <- TRUE
d4$correct[d4$condition=="Different Belief" & d4$response=="false"] <- TRUE 
d4$correct[d4$condition=="Ignorance" & d4$response=="false"] <- TRUE 


d4.rts <- d4 %>% group_by(subj) %>% summarise(
                mean = mean(RTs, na.rm=TRUE))
#hist(d4.rts$mean,breaks=50,col="Red")

d4.correct <- d4 %>% group_by(subj) %>% summarise(
                mean = mean(correct, na.rm=TRUE))
#hist(d4.correct$mean,breaks=50,col="Red")

exclude4.1 <- d4.rts$subj[d4.rts$mean<1000|d4.rts$mean>3500]
exclude4.2 <- d4.correct$subj[d4.correct$mean<acc.thresh]

d4 <- d4 %>% filter(!(subj %in% exclude4.1) & !(subj %in% exclude4.2)) %>%
             filter(RTs>rt.min & RTs < rt.max) %>%
             filter(correct)

## full model
# lm4.0 <- lmer(RTs ~ condition * factivity + (1|scenario) + (condition * factivity|subj), data=d4,
#               control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))

## here's the test for the interaction effect:

# lm4.1 <- lmer(RTs ~ condition + factivity + (1|scenario) + (condition * factivity|subj), data=d4,
#               control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# lm4.inter <- anova(lm4.0,lm4.1)
# saveRDS(lm4.inter,"../models_new/lm4_inter.rda")

## here's the test for the effect of factivity

# lm4.2 <- lmer(RTs ~ condition + (1|scenario) + (condition * factivity|subj), data=d4,
#               control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# lm4.fact <- anova(lm4.1,lm4.2)
# saveRDS(lm4.fact,"../models_new/lm4_fact.rda")

## here's the test for the effect of condition

# lm4.3 <- lmer(RTs ~ factivity + (1|scenario) + (condition * factivity|subj), data=d4,
#                control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")))
# lm4.cond <- anova(lm4.1,lm4.3)
# saveRDS(lm4.cond, "../models_new/lm4_cond.rda")

## reading in saved models from above to save time when compiling

lm4.inter <- readRDS("../Analysis/Models/Exp4/lm4_inter.rda") # question*condition interaction effect
lm4.fact <- readRDS("../Analysis/Models/Exp4/lm4_fact.rda") # main effect of factivity
lm4.cond <- readRDS("../Analysis/Models/Exp4/lm4_cond.rda")   # main effect of condition


d4f.sums <- d4 %>% group_by(factivity) %>% 
                  summarise(mean =mean(RTs, na.rm=TRUE),
                            sd = sd(RTs, na.rm = TRUE))
```

As in the previous experiments, data were excluded at the participant- and trial-level, and then analyzed using an identical set of linear mixed-effects models, only now the effects calculated for Ascription Type reflect whether a verb is factive vs non-factive rather than the verb being ‘know’ vs. ‘think’[^6].

[^6]: The fixed and random effects structure for the full model was specified as: \textsf{response.time $\sim$ info.condition $*$ factivity.type $+$ (1$|$scenario) $+$ (info.condition $*$ factivity.type$|$subj)}. We were not able to include random slopes for the scenario because the crossed nature of the random effects in our experiment prevented convergence.

This revealed a small main effect of Information Condition, $\chi^2(2)$ = `r round(lm4.cond$Chisq[2],digits=3)`, *p* = `r round(lm4.cond$'Pr(>Chisq)'[2],digits=3)`, and no Information Condition $\times$ Ascription Type interaction, $\chi^2(2)$ = `r round(lm4.inter$Chisq[2],digits=3)`, *p* = `r round(lm4.inter$'Pr(>Chisq)'[2],digits=3)`. More importantly, we observed a highly significant main effect of Ascription Type, $\chi^2(1)$ = `r round(lm4.fact$Chisq[2],digits=3)`, *p* \< `r max(.001,round(lm4.fact$'Pr(>Chisq)'[2],digits=3))`, such that participants were faster to correctly assess the truth of ascriptions involving factive attitudes ($M =$ `r round(d4f.sums$mean[d4f.sums$factivity=="Factive"], digits=2)`ms, $SD =$ `r round(d4f.sums$sd[d4f.sums$factivity=="Factive"], digits=2)`) than ascriptions involving non-factive attitudes ($M =$ `r round(d4f.sums$mean[d4f.sums$factivity=="Non-factive"], digits=2)`ms, $SD =$ `r round(d4f.sums$sd[d4f.sums$factivity=="Non-factive"], digits=2)`) (see Figure 6).

```{r Experiment4 figure, fig.width=7, fig.height=5, echo=FALSE, warning=FALSE, message=FALSE, eval=FALSE}
d4 <- d4 %>%
  mutate(condition_new = case_when(
    condition == 'True Belief' ~ 'True Information',
    condition == 'Ignorance' ~ 'No Information',
    condition == 'Different Belief' ~ 'False Information',
    TRUE ~ condition # for values not matched in conditions, keep original values
  ))

d4.sum1 <- d4 %>% group_by(condition_new,factivity,turkID) %>% summarise(
                submean = mean(RTs, na.rm=TRUE))

d4.sumV <- d4 %>% group_by(condition_new,factivity,condition3) %>% summarise(
                RTs = mean(RTs, na.rm=TRUE))

d4.sum <- d4.sum1 %>% group_by(condition_new,factivity) %>% summarise(
                N    = length(submean),
                RTs = mean(submean, na.rm=TRUE), # we include this to make plotting easier
                mean = mean(submean, na.rm=TRUE),
                sd   = sd(submean,na.rm=TRUE),
                se   = sd / sqrt(N))
# 
d4$condition_new <- factor(d4$condition_new, levels=c("True Information","No Information","False Information"))
 
d4.sum$condition_new <- factor(d4.sum$condition_new, levels=c("True Information","No Information","False Information"))

d4.sumV$condition_new <- factor(d4.sumV$condition_new, levels=c("True Information","No Information","False Information"))

```


```{r Experiment4 figure_2, fig.width=7, fig.height=5, echo=FALSE, warning=FALSE, message=FALSE, eval=FALSE}
#d4 plot

d4.plot <- d4 %>% ggplot(aes(x=factivity, y=RTs, fill=factivity, color=factivity)) +
   scale_fill_manual(values=c("#bdd7e7", "#2171b5")) + ###bdd7e7 #6baed6
   geom_point(aes(group=factivity), stat="identity",
              position=position_jitterdodge(jitter.width=.5,dodge.width=.9),
              alpha=.1, color="black", size=.1)+
   geom_violin(data=d4.sumV, alpha=.1, color= "black", linewidth=.1) +  
   geom_point(data=d4.sum,aes(x=factivity, y=RTs, color=factivity),
              position=position_dodge(.9), color="black") +
   geom_errorbar(data=d4.sum,aes(ymin=RTs-se, ymax=RTs+se), width=.2,
                 position=position_dodge(.9),color="black") +
   geom_line(data=d4.sum, aes(x=factivity, y=RTs, group=condition_new),
             color="black",alpha=.8) +
   facet_wrap(~condition_new,shrink=T) +
   ylab("Response time (ms)") +
   xlab("") +
   theme_bw() +
   theme(
    plot.background = element_blank()
    ,panel.grid.major = element_blank()
    ,panel.grid.minor = element_blank()
    ,legend.title=element_blank()
    ,legend.text=element_text(size=rel(1))
    ,legend.justification=c(1,1)
    ,legend.position="none"
    ,legend.key.width = unit(0.8, "cm")
    ,legend.key.height = unit(0.4, "cm")
    ,axis.text.y=element_text(size=rel(1))
    ,axis.title.y=element_text(size=rel(1),vjust=.9)
    ,axis.title.x=element_blank()
    ,axis.text.x=element_text(size=rel(1.5))
    ,axis.ticks = element_blank()
    ,strip.text=element_text(size=rel(1.25))
  )  + 
  scale_y_continuous(limits = c(1900, 3200)) 

print(d4.plot)

ggsave(d4.plot, file="../Analysis/Figures/fig6_exp4.jpg",dpi=300, height = 5, width = 7, units = "in")
```

![Figure6](../Analysis/Figures/fig6_exp4.jpg "Figure 6") *Figure 6.* Response times for correct evaluations of factive mental state ascriptions (left points and violins) and non-factive mental state ascriptions (right points and violins) as a function of Information Condition (separate panels). Small points indicate trial-level responses, violins illustrate scenario- or item-level distributions, large dark points depict overall means, and error bars depict +/- 1 SEM.

## Discussion
These results provide evidence that the response time difference observed for evaluations of knowledge and belief may generalize to the broader classes of factive and non-factive mental state verbs to which they respectively belong. This finding supports a more general pattern according to which factive mental state representations may be simpler because the content represented is necessarily consistent with one’s own understanding [@phillips2019factive]. Accordingly, these data also point toward a potential explanation of why evaluations of knowledge occur more quickly than evaluations of belief. However, regardless of whether or not this turns out to be the correct explanation for why evaluations of knowledge are faster than evaluations of belief, the previous four experiments collectively provide ample evidence that people do in fact make evaluations of knowledge without yet having made similar evaluations of belief.

# Experiment 5
In the previous four studies, we investigated the relationship between knowledge and belief by examining the speed with which people were able to evaluate claims about others’ mental states. We argued that the fact that people can correctly decide what others know faster than they can correctly decide what others think, provides evidence that they are not consulting their judgments of belief when forming their judgments about knowledge. Here, we ask a similar question but use a very different methodology. Specifically, we use functional magnetic resonance imaging (fMRI) to examine the neural responses exhibited during the formation of knowledge and belief representations and ask whether these neural patterns provide convergent evidence about the relationship between knowledge and belief.

To do this, we took advantage of an existing dataset from an experiment that examined the role of mental state representations in moral judgments for both neurotypical participants and participants with Autism Spectrum Disorder (ASD) [@chakroff2016minds]. In the original study, participants read short stories involving different kinds of moral violations while undergoing functional magnetic resonance imaging. Critically for our purposes, these short stories manipulated the description of the agent’s mental states. In some cases, the agent was described as having knowledge of some fact in the scenario (e.g., “knew the brakes were still broken”); in other cases, the agent was instead described as having a belief (e.g., “thought the detector just needed new batteries”); and in other cases, the agent was instead described as having some other factive mental state (e.g., “heard that he was in a relationship”; “realized the pond was unsafe”).

While the original research focused on the neural processes underlying moral judgment, we can take advantage of the design used in this study by comparing the patterns of neural activation when participants learned about the agents’ knowledge, belief, and other factive attitudes. Following the literature, we will focus on the neural response within the right temporo-parietal junction (RTPJ), which is well-known to play a highly selective and critical role in the neural computations underlying the representations of others’ mental states [@gobbini2007two; @koster2013theory; @saxe2004understanding]. This area has even been shown, for example, to carry information about the specific kind of mental state being represented; allowing for one to decode whether the agent is represented as having auditory or visual evidence about some fact, among other things [@koster2014thinking; @zaitchik2010mental]. Our novel reanalysis of these data allows us to test two opposing predictions about the neural activity that knowledge and belief representations will elicit in RTPJ. On the one hand, if representing others’ knowledge requires representing their beliefs, then we would expect the activity within RTPJ to reflect this structure. That is, while knowledge representations may require a number of different or additional neural processes, representations of knowledge should certainly not elicit less of a response in RTPJ than representations of belief, since they are meant to recruit precisely those representations.

On the other hand, the results of the previous five experiments suggest that representations of knowledge may not require representations of belief, and in fact may involve simpler or more basic processes [@phillips_knowledge_2020]. Previous work has demonstrated that complex or effortful inferences typically elicit greater neural activity in RTPJ than simpler or less effortful inferences [@cohen1997temporal; @meyer2015social]. In line with this, an alternative prediction is that representations of knowledge may elicit a similar amount, or even less, neural activity in RTPJ.

## Participants

```{r Experiment5 participants, echo=FALSE, warning=FALSE, message=FALSE}

d5 <- read.csv("../Studies/Exp5/Data/study5.csv")

d5demo <- d5[,1:6]

d5nt <- d5demo[d5demo$ASD==0,]
#length(unique(d5nt$Subject)) N
#round(mean(d5nt$Age, na.rm=T), digits=2) age
#length(unique(d5nt[d5nt$Female0_Male1==0,]$Subject)) N_female

d5asd <- d5demo[d5demo$ASD==1,]
#length(unique(d5asd$Subject))
#length(unique(d5asd[d5asd$Female0_Male1==0,]$Subject))


```

Participants included `r length(unique(d5nt$Subject))` neurotypical adults (NT; *M*~age~=`r round(mean(d5nt$Age, na.rm=T), digits=2)`; *SD*~age~=`r round(sd(d5nt$Age, na.rm=T),digits=2)`; `r length(unique(d5nt[d5nt$Female0_Male1==0,]$Subject))` females) and `r length(unique(d5asd$Subject))` adults with high-functioning autism or Asperger’s syndrome (ASD; *M*~age~=`r round(mean(d5asd$Age, na.rm=T), digits=2)`; *SD*~age~=`r round(sd(d5asd$Age, na.rm=T),digits=2)`; `r length(unique(d5asd[d5asd$Female0_Male1==0,]$Subject))` females) recruited from the Greater Boston Area. All ASD participants received their diagnosis based on the Autism Diagnostic Observation Schedule, Second Edition (criterion $\geq$ 7; M = 9.60), as well as an impression by a trained clinician based on the diagnostic criteria of the DSM-IV.

## Stimuli and procedure

As described in Chakroff et al. [@chakroff2016minds], participants read 60 stories depicting moral violations while undergoing fMRI. The stories were presented in cumulative segments. The last segment depicted the agent’s mental state and was presented for 4 seconds. The agent’s mental state was described using three different verb categories: knowledge, belief, or other factive attitude verbs. Word count was matched across conditions. Stories were presented in a pseudorandom order, divided into six 5.5 minute runs. To identify the RTPJ, all participants also completed a theory of mind functional localizer task [@dodell2011fmri]. This task consists of 10 stories about mental states (false-belief condition) and 10 stories about physical representations (false-photograph condition). (See http://saxelab.mit.edu/superloc.php for the task files). The task was presented in two 4.5 min runs, interleaved with the main experimental runs. Complete details of stimuli and procedure can be found in Chakroff et al. [@chakroff2016minds].

## Results

```{r Experiment5 analysis, echo=FALSE, warning=FALSE, message=FALSE}

d5$mental_state <- factor(d5$Know0_Other1_Think2)

# verb category X group interaction

# e5.m0 = lmer('RTPJ ~ mental_state * ASD + (mental_state | Subject) + (mental_state|Item)', data=d5, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")),REML=FALSE )
# e5.m1 = lmer('RTPJ ~ mental_state+ASD + (mental_state | Subject) + (mental_state|Item)', data=d5, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")),REML=FALSE )
# 
# verbcatxgrp <- anova(e5.m0, e5.m1)
# saveRDS(verbcatxgrp, "../Analysis/Models/Exp5/verbcatxgrp.rda")

verbcatxgrp <- readRDS("../Analysis/Models/Exp5/verbcatxgrp.rda")


# main effect of verb category (think vs. other_factive vs. know)

# e5.m2 = lmer('RTPJ ~ ASD + (mental_state | Subject) + (mental_state|Item)', data=d5, control = lmerControl(optimizer = c("optimx"), optCtrl = list(method = "nlminb")),REML=FALSE )
# 
# verbcat <- anova(e5.m1, e5.m2)
# saveRDS(verbcat, "../Analysis/Models/Exp5/verbcat.rda")

verbcat <- readRDS("../Analysis/Models/Exp5/verbcat.rda")


## emmeans comparisons between knowledge (0), other factive attitude (1), and think (2)

#e5.ems <- emmeans(e5.m0,pairwise~mental_state)
#saveRDS(e5.ems, "../Analysis/Models/Exp5/e5.ems.rda")

e5.ems <- readRDS("../Analysis/Models/Exp5/e5.ems.rda")

e5.ems <- summary(e5.ems)
```

As in @dodell2011fmri, a whole-brain random effects analysis contrasting neural response in false-belief vs. false-photograph conditions (p $<$ 0.001, uncorrected, k $>$ 16) revealed activity in the RTPJ (peak voxel MNI coordinates: x = 58, y = -50, z = 28). We identified the RTPJ in all 38 participants individually, defined as contiguous voxels within a 9*mm* radius of the peak voxel that passed the contrast threshold.

We averaged the blood oxygen level dependent (BOLD) response across voxels in RTPJ from each subject during the 4 second segment in which the agent’s mental state information was presented, and asked if this varied as a function of verb category. For each verb category, we calculated the average percent signal change (PSC) from baseline in RTPJ [PSC = 100 $\times$ raw BOLD response for (condition $-$ baseline) / raw BOLD response for baseline]. Baseline was defined as the average RTPJ response across all fixation time points between stimuli, adjusted for hemodynamic lag. Complete details of how the fMRI data were processed and analyzed can be found in @chakroff2016minds.

We then performed a linear mixed effects analysis predicting PSC in BOLD response in RTPJ, including both verb category (think verbs vs. knowledge verbs vs. other factive verbs) and participant group (autism vs. control) and their interaction.[^7] We observed no verb category $\times$ group interaction ($\chi^2(2)$ = `r round(verbcatxgrp$Chisq[2],digits=3)`, *p* = `r round(verbcatxgrp$'Pr(>Chisq)'[2],digits=3)`), indicating that neurotypical participants and participants with autism demonstrated similar activity across verb categories. More importantly, the analysis also revealed a main effect of verb category on RTPJ activity ($\chi^2(2)$ = `r round(verbcat$Chisq[2],digits=3)`, *p* = `r round(verbcat$'Pr(>Chisq)'[2],digits=3)`) (Figure 7). 

Pairwise comparisons of estimated marginal means revealed higher PSC for 'think' (*EMM* = `r round(e5.ems$emmeans$emmean[3], digits=3)`, 95%CI: [`r round(e5.ems$emmeans$lower.CL[3], digits=3)`,`r round(e5.ems$emmeans$upper.CL[3], digits=3)`]), than for either 'know' (*EMM* = `r round(e5.ems$emmeans$emmean[1], digits=3)`, 95%CI: [`r round(e5.ems$emmeans$lower.CL[1], digits=3)`,`r round(e5.ems$emmeans$upper.CL[1], digits=3)`]), *t*.ratio(`r round(e5.ems$contrasts$df[2],digits=2)`) = `r round(e5.ems$contrasts$t.ratio[2], digits=2)`, *p* = `r round(e5.ems$contrasts$p.value[2], digits=3)`,  or other factive verbs (*EMM* = `r round(e5.ems$emmeans$emmean[2], digits=3)`, 95%CI: [`r round(e5.ems$emmeans$lower.CL[2], digits=3)`,`r round(e5.ems$emmeans$upper.CL[2], digits=3)`]), *t*.ratio(`r round(e5.ems$contrasts$df[3],digits=2)`) = `r round(e5.ems$contrasts$t.ratio[3], digits=2)`, *p* = `r round(e5.ems$contrasts$p.value[3], digits=3)`. We did not find a significant difference between knowledge and other factive attitudes, *t*.ratio(`r round(e5.ems$contrasts$df[1],digits=2)`) = `r round(e5.ems$contrasts$t.ratio[1], digits=2)`, *p* = `r round(e5.ems$contrasts$p.value[1], digits=3)`.

[^7]: Because of the fully crossed design used in @dodell2011fmri, we were able to use maximal random effects structure for this analysis, i.e., \textsf{RTPJ.BOLD $\sim$ mental.state $*$ ASD.group $+$ (mental.state$|$Subject) $+$ (mental.state$|$Item)}, where item codes the complement of the of the attitude verb used.


```{r Experiment5 plot, fig.width=7, fig.height=5, echo=FALSE, message=FALSE, eval=FALSE}

d5 <- d5 %>%
  mutate(mental_state_2 = case_when(
    mental_state == 0 ~ 'Know',
    mental_state == 1 ~ 'Other Factive Verbs',
    mental_state == 2 ~ 'Think',
    TRUE ~ mental_state # for values not matched in conditions, keep original values
    ),
    RTPJchange = RTPJ
  )

d5.sum <- d5 %>% group_by(mental_state_2, Subject) %>%
  summarise(submean = mean(RTPJ, na.rm=TRUE))

d5.sum <- d5.sum %>% group_by(mental_state_2) %>%
  summarise(N = length(submean),
            RTPJchange = mean(submean, na.rm=TRUE),
            sd = sd(submean, na.rm=TRUE),
            se = sd / sqrt(N)) %>%
  mutate(group="all")

d5.sumV <- d5 %>% group_by(mental_state_2, Item) %>%
  summarise(RTPJchange = mean(RTPJ, na.rm=TRUE))

d5$mental_state_2 <- factor(d5$mental_state_2, levels=c("Know","Other Factive Verbs","Think"))
d5.sum$mental_state_2 <- factor(d5.sum$mental_state_2, levels=c("Know","Other Factive Verbs","Think"))
d5.sumV$mental_state_2 <- factor(d5.sumV$mental_state_2, levels=c("Know","Other Factive Verbs","Think"))


d5.plot <- d5 %>% ggplot(aes(x=mental_state_2, y=RTPJchange, fill=mental_state_2)) +
  geom_point(aes(x=mental_state_2, group=mental_state_2),stat="identity",
             position=position_jitter(width =.2),
             alpha=.1, color="black", size=.1) +
  scale_fill_manual(values=c("#bdd7e7", "#6baed6", "#2171b5")) + ###bdd7e7 #6baed6
  geom_violin(data=d5.sumV, alpha=.1, color= "black", linewidth=.1) +  
  geom_point(data=d5.sum,aes(x=mental_state_2, y=RTPJchange),
             position=position_dodge(.9), color="black") +
  geom_errorbar(data=d5.sum,aes(ymin=RTPJchange-se, ymax=RTPJchange+se), width=.05,
                position=position_dodge(.9),color="gray36") +
  geom_line(data=d5.sum, aes(group=group, y=RTPJchange, color="black"),
            color="black",alpha=.8) +
  ylab("% Signal Change") +
  xlab("") +
  theme_bw() +
  theme(
    plot.background = element_blank()
    ,panel.grid.major = element_blank()
    ,panel.grid.minor = element_blank()
    ,legend.title=element_blank()
    ,legend.text=element_text(size=rel(1))
    ,legend.justification=c(1,1)
    ,legend.position="none"
    ,legend.key.width = unit(0.8, "cm")
    ,legend.key.height = unit(0.4, "cm")
    ,axis.text.y=element_text(size=rel(1))
    ,axis.title.y=element_text(size=rel(1),vjust=.9)
    ,axis.title.x=element_blank()
    ,axis.text.x=element_text(size=rel(1.5))
    ,axis.ticks = element_blank()
    ,strip.text=element_text(size=rel(1.25))
  ) +
  scale_y_continuous(limits = c(0, .65))

print(d5.plot)

ggsave(d5.plot, file="../Analysis/Figures/fig7_exp5.jpg",dpi=300, height = 4, width = 7, units = "in")


```


![Figure7](../Analysis/Figures/fig7_exp5.jpg "Figure 7") *Figure 7.* Percent signal change in RTPJ for each mental state verb: 'know' (left points and violin), other factive verbs, e.g., 'saw' or 'realized' (middle points and violin) and 'think' (right points and violin). Small points indicate trial-level responses, violins illustrate scenario- or item-level distributions, large dark points depict overall means, and error bars depict +/- 1 SEM.

## Discussion

Our reanalysis of the fMRI data from Chakroff and colleagues [@chakroff2016minds] revealed that RTPJ exhibited a higher level of activity when participants read about others’ beliefs than when participants read about others’ knowledge (or factive attitudes more generally). This pattern clearly suggests that when participants were representing agents as knowing some proposition, they were not recruiting the set of processes that they employed when representing agents’ beliefs. If they had been, then we should have observed at least a roughly similar level of activation in RTPJ. This result is also broadly in line with the findings by Zaitchik and colleagues [@zaitchik2010mental], who found greater activation across the theory of mind network when participants read sentences involving ascriptions of representational mental states (about an agent ‘believing’ or ‘thinking’ something) than when they read sentences involving perceptual or emotional states (e.g., that the agent ‘saw’ something, or what the agent was ‘furious’ about something). Critically, for our purposes, the perceptual and emotion mental states used were largely factive, while the representational mental states used were largely non-factive [@zaitchik2010mental].[^8] Our finding of lower BOLD responses in the RTPJ when representing an agent as knowing as compared to believing is also consistent with the EEG results of @bricker2020neural, who found reduced inhibition of the P3b amplitude when participants attributed beliefs to another agent as compared to knowledge. Finally, in line with the findings in our Experiment 2, we also do not find differences in the overall pattern observed between neurotypical participants and participants with ASD.

This pattern of results strengthens the case for the conclusions we’ve drawn across the previous studies. Despite the highly different methodologies used, both approaches yielded consistent evidence, which showed that knowledge representations do not rely on belief representations and that knowledge representations may actually be simpler than belief representations. Moreover, the differences between these two approaches complement each other in another way: while alternative proposals may be offered to explain either one of these sets of results, it is very unlikely that any proposal aside from ours can easily explain and predict the pattern of results we observed across both studies (i.e., that representations of knowledge are computed more quickly and require less neural activity in classic theory of mind brain regions).

[^8]: Zaitchik and colleagues lumped the term ‘know’ with the representational mental states and did not directly compare knowledge ascriptions to other kinds of representational mental states, as we do here.

# General Discussion

Across five experiments, we found consistent evidence that the representation of others’ knowledge can occur in the absence of representations of corresponding beliefs. Experiment 1 demonstrated that accurate evaluations of knowledge ascriptions happen significantly faster than accurate evaluations of otherwise identical belief ascriptions. Experiment 2 further found that this effect cannot be explained by pragmatic differences and that it extends to participants with Autism Experiment 3 demonstrated this finding cross-linguistically, establishing that people also accurately evaluate others’ knowledge faster than their beliefs in French. Experiment 4 provided evidence that this response time difference generalizes to the larger classes of factive and non-factive attitudes to which knowledge and belief respectively belong. Finally, Experiment 5 revealed that forming representations of an agents’ knowledge (or other factive mental states) elicits less activity in classic theory of mind brain regions than forming representations of that agent's beliefs. Taken together, these studies provide evidence for the *knowledge without belief* hypothesis. That is, they provide evidence that there are cases in which people form representations of another person's knowledge without forming representations of that person's belief.


## Relation to previous research

Previous research has provided evidence that the capacity to represent knowledge may be present before the capacity to represent belief (see [@nagel2017factive; @phillips_knowledge_2020] for reviews and discussion). However, this prior work was largely indirect. What it directly showed was that there are certain kinds of cases in which the early capacity to understand others' minds seems to be limited, and those cases happen to align with when we would naturally say that someone "believes" something rather than "knows" something. For example, one finds the capacity to represent others as mistakenly believing something to be the case to emerge later than the capacity to represent someone as understanding *true* things about the world. This characteristic limit appears to emerge in infants [@vouloumanos20146; @luo2009recognizing], in automatic processes within adults [@surtees2012egocentrism; @surtees2016ve], and in monkeys [@martin2014origins; @martin2016cognitive; @horschler2019non; @horschler2020non]. 

One natural way to explain this broad pattern is to argue that the capacity to represent others as knowing something is present before the capacity to represent others as believing something. If this hypothesis were right, then one should obviously expect earlier success on theory of mind tasks when the agent's mental state amounts to knowledge and later success on tasks where the agent agent does not actually know something, but merely believes it [@phillips_knowledge_2020]. 

At the same time though, there may be more deflationary explanations for why one finds earlier success on the tasks where the agent can be described as knowing rather than believing something. For example, it may simply be easier to represent someone's mental state when their understanding of the world does not conflict with your own (see, e.g., [@deschrijver2020reframing]). Perhaps then, what this prior work merely shows is that it is easier to represent others' true beliefs than it is to represent their false beliefs. This alternative explanation would have at least some potential to explain the results from previous research.

Critically, this kind of deflationary explanation does not apply to the studies we've presented, which differ in two critical ways from this prior work. First, our studies bear more directly on the relationship between knowledge and belief in that we ask participants explicitly about what another agent "knows" or "thinks" (along with other related mental state terms). Second, we only ask participants to evaluate whether the agent knows or thinks things that the participants themselves take to be true. In some conditions, such as the True Information condition, the agent both thinks and and knows these things, while in others (No/False Information conditions), the agent neither thinks nor knows these things. Across these cases we still find that participants are faster to correctly evaluate whether another agent knows that thing than they are to correctly evaluate whether another agent believes that thing. These results thus provide more direct evidence for the knowledge without belief hypothesis.


<!-- This got cut when JK added the above section

## Why is knowledge faster than belief?

An important further question concerns why people can make accurate assessments of knowledge faster than accurate assessments of belief. What is it about knowledge that explains this difference?

One prominent approach in the developmental and comparative literature on mindreading is to propose that knowledge representations can be approximated by some very minimal understanding of others as being connected to particular parts of the world, see, e.g., Butterfill and Apperly’s notion of ‘registration’ [@butterfill2013construct]. Such representations may be particularly helpful, for example, when non-human primates need to keep track of which pieces of food a dominant conspecific is aware of. However, such ‘minimal’ forms of mindreading are not typically thought to allow for representations of propositional knowledge of the kind used in our vignettes. For example, it is not clear how they could be straightforwardly applied to Mira knowing that the identity of the bright dot in the sky is Neptune. Accordingly we think such minimal forms of mind reading are unlikely to explain why people are faster to correctly evaluate ascriptions of propositional knowledge than ascriptions of propositional belief.

An alternative approach would be to point to the difference in factivity between knowledge and belief. For factive attitudes like knowledge, one can only represent someone as having knowledge when the content of the attitude is consistent with one’s own understanding [@kiparsky2014fact; @phillips2019factive]. Representations of belief have no such constraint. Accordingly, an intriguing possibility is that this difference in factivity may help to explain why we found that participants could correctly evaluate what others know faster than they could correctly evaluate what others think. One more specific way of spelling out this account, offered by Evan Westra, argues that knowledge representations are coupled to the attributor’s own primary representation of reality [@westra2021mindreading]. In Westra and Nagel’s words, “Factive mental state attributions are transparent, in the sense that the attributor looks through them to the world.” (2021, p. 3). In contrast, belief representations are decoupled from the attributor’s own understanding, and that maintaining a decoupled representation incurs additional working memory and inhibitory control costs [@fizke2014executive], which may explain the slower response times in correct evaluations of belief ascriptions [@westra2021mindreading]. 

It may be helpful to distinguish between two ways of understanding our proposal. One way of understanding the proposal would be as a claim that it is easier to represent someone's mental state when we already represent the content of the mental state as true. For example, it may be easier to represent someone as having a mental state involving the sky being blue than as having a mental state involving the sky being red. While this may well be true, our proposal is importantly different from this. Our proposal does not primarily concern the content of the mental state, but rather the kind of mental state being attributed. It argues that it is more difficult to reason about mental states which require the content to be held independently from one's own understanding of the world than it is to reason about mental states where the content is connected to one's own understanding of the world. In other words, whether the content of the attributed mental state is held to be true or false, our claim is that it is harder to determine whether someone *thinks* that content than it is to determine whether someone *knows* that content. This second way of understanding our proposal is what our data uniquely support, as we find, for example, that even when participants should represent the content of the mental state as true (the true information condition), people are faster to determine that the person knows that content than they are to determine that they believe that same content. In this way, our proposal is importantly different than the comparatively simple claim that it is easier to represent other minds when they align with your own.

!-->


## Interactions between Ascription Type and Information Condition

Across a number of studies (Experiments 1-3), we also found an interaction effect such that the greatest difference in response time in evaluating knowledge and belief ascriptions was in the No Information condition, while a somewhat smaller difference was observed in the True Information condition, and the smallest difference was consistently observed in the False Information condition. While any proposed explanation of this pattern will necessarily be speculative until further research is done, offering some way of understanding this pattern may still be desirable, given that we observe it relatively consistently.
Thus far, we’ve argued that correct knowledge evaluations may be faster than correct belief evaluations because evaluations of knowledge may involve simpler or more basic processes. What we now need to explain is why this response time difference is moderated in some cases. One potentially helpful place to start is to recall that knowledge typically entails belief, and so in any case where you recognize someone as knowing something, you should be able to use that fact to infer that they must also believe that thing [@sep-knowledge-analysis; @rose2013knowledge; @myers2013knowing]. Accordingly, in the True Information condition, where the agent does in fact have knowledge, participants should be able to relatively easily infer that the agent also has the corresponding belief. In contrast, in the No Information condition, when the agent does not have knowledge, participants cannot use this strategy, and they have to independently evaluate whether the agent has the relevant belief. This explanation makes the more precise prediction that the smaller difference in the True Information condition occurs in part because participants are faster to correctly evaluate what the agent thinks in the True Information condition than in the No Information condition. Our data are consistent with this prediction: combining the data from Experiments 1-3, we found that correct evaluations of belief ascriptions were made faster in the True Information than in the No Information condition, t(1032) = -3.83, p < .001.

What remains to be explained is why we observe a yet smaller difference in the False Information condition. Importantly, the vignettes used in these conditions explicitly required participants to represent the agent as believing some incorrect proposition, *q*. Recall, however, that we asked participants to evaluate whether or not the agent thinks or knows not *q*, but instead a true proposition *p* (ensuring that the correct answer was the same for both types of ascriptions, as they neither believe, nor do they know, *p*). Thus, the background vignettes used in these conditions require participants to engage in reasoning about what the agent (falsely) believes.  Having previously represented the agent as believing *q*, participants may find it particularly easy to infer that the agent does not believe *p* (as *p* and *q* are always inconsistent). Separately, in this case, determining that the agent does not know *p* may be particularly effortful in this case, as *p* is true. 

While we think this series of explanations is a plausible way of explaining the observed interaction effects, future work should further pursue the potential interaction between the information state of an agent and representations of knowledge and belief. 

## Conclusion
This paper set out to ask whether people can represent someone else as knowing something without representing them as believing that thing. Across a series of five studies using a variety of manipulations and methods, we found strong evidence for an affirmative answer to this question: representations of what others do or do not know can occur in the absence of representations of what they believe. This series of findings provides further support for the growing consensus that the capacity for knowledge representation is more basic than the capacity for belief representation.

# References
